Parse about any Arabic textual datetime description into a Unix timestamp.
The function expects to be given a string containing an Arabic date format and will try to parse that format into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT), relative to the timestamp given in now, or the current time if none is supplied.
<?php
date_default_timezone_set('UTC');
$time = time();
echo date('l dS F Y', $time);
echo '<br /><br />';
$Arabic = new \ArPHP\I18N\Arabic();
$str = 'الخميس القادم';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = 'الأحد الماضي';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = 'بعد أسبوع و ثلاثة أيام';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = 'منذ تسعة أيام';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = 'قبل إسبوعين';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = '2 آب 1975';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
$str = '1 رمضان 1429';
$int = $Arabic->strtotime($str, $time);
$date = date('l dS F Y', $int);
echo "$str - $int - $date<br /><br />";
<?php
date_default_timezone_set('UTC');
$time = time();
$other = $time - 1.618 * 3600 * 24 * 365;
$Arabic = new \ArPHP\I18N\Arabic();
$str = $Arabic->diffForHumans($time, $other);
echo "$str<br /><br />";
$str = $Arabic->diffForHumans($time, $other, 3);
echo "$str<br /><br />";
$str = $Arabic->diffForHumans($time, $other, 3, false);
echo "$str<br /><br />";
$str = $Arabic->diffForHumans($other, $time, 7);
echo "$str<br /><br />";