Bagaimana menemukan jumlah hari antara dua tanggal menggunakan PHP?
(new DateTime("2010-01-11"))->diff(new DateTime("2019-08-19"))->days;
Bagaimana menemukan jumlah hari antara dua tanggal menggunakan PHP?
(new DateTime("2010-01-11"))->diff(new DateTime("2019-08-19"))->days;
Jawaban:
$now = time(); // or your date as well
$your_date = strtotime("2010-01-31");
$datediff = $now - $your_date;
echo round($datediff / (60 * 60 * 24));
$your_date-$now
, jika Anda ingin masa depan mengembalikan integer positif.
Jika Anda menggunakan PHP 5.3 >
, ini adalah cara paling akurat untuk menghitung perbedaan:
$earlier = new DateTime("2010-07-06");
$later = new DateTime("2010-07-09");
$diff = $later->diff($earlier)->format("%a");
$date1
anterior $date2
), gunakan $diff = $date2->diff($date1)->format("%r%a");
sebagai gantinya.
DateTime("2010-07-06")
?, apakah itu Y-m-d
atau Y-d-m
?, apa format DateTime
parameter. yang mana hari?
Dari PHP Versi 5.3 dan lebih tinggi, fungsi tanggal / waktu baru telah ditambahkan untuk mendapatkan perbedaan:
$datetime1 = new DateTime("2010-06-20");
$datetime2 = new DateTime("2011-06-22");
$difference = $datetime1->diff($datetime2);
echo 'Difference: '.$difference->y.' years, '
.$difference->m.' months, '
.$difference->d.' days';
print_r($difference);
Hasil seperti di bawah ini:
Difference: 1 years, 0 months, 2 days
DateInterval Object
(
[y] => 1
[m] => 0
[d] => 2
[h] => 0
[i] => 0
[s] => 0
[invert] => 0
[days] => 367
)
Semoga ini bisa membantu!
Ubah tanggal Anda menjadi unix cap waktu, lalu kurangi satu dari yang lainnya. Itu akan memberi Anda perbedaan dalam hitungan detik, yang Anda bagi dengan 86400 (jumlah detik dalam sehari) untuk memberi Anda perkiraan jumlah hari dalam rentang itu.
Jika tanggal Anda dalam format 25.1.2010
, 01/25/2010
atau 2010-01-25
, Anda dapat menggunakan strtotime
fungsi:
$start = strtotime('2010-01-25');
$end = strtotime('2010-02-20');
$days_between = ceil(abs($end - $start) / 86400);
Menggunakan ceil
putaran jumlah hari hingga hari penuh berikutnya. Gunakan floor
sebaliknya jika Anda ingin mendapatkan jumlah hari penuh antara dua tanggal tersebut.
Jika tanggal Anda sudah dalam format cap waktu unix, Anda dapat melewati konversi dan cukup lakukan $days_between
bagian. Untuk format tanggal yang lebih eksotis, Anda mungkin harus melakukan parsing khusus untuk memperbaikinya.
$day
dan stempel waktu UNIX jam 1 siang $day+1
tidak selalu 86400 detik dalam zona waktu yang mengamati DST. Mungkin bernilai 23 atau 25 jam dalam hitungan detik alih-alih 24 jam.
time()
. Jika Anda melakukannya, bersiaplah jika keandalan 98,0825% gagal Anda. Gunakan DateTime (atau Karbon).The jawaban yang benar adalah salah satu yang diberikan oleh Saksham Gupta (jawaban lain juga benar):
$date1 = new DateTime('2010-07-06');
$date2 = new DateTime('2010-07-09');
$days = $date2->diff($date1)->format('%a');
Atau secara prosedural sebagai one-liner:
/**
* Number of days between two dates.
*
* @param date $dt1 First date
* @param date $dt2 Second date
* @return int
*/
function daysBetween($dt1, $dt2) {
return date_diff(
date_create($dt2),
date_create($dt1)
)->format('%a');
}
Dengan peringatan: '% a' tampaknya menunjukkan jumlah hari absolut . Jika Anda menginginkannya sebagai bilangan bulat yang ditandatangani, yaitu negatif ketika tanggal kedua adalah sebelum tanggal pertama, maka Anda perlu menggunakan awalan '% r' (yaitu format('%r%a')
).
Jika Anda benar-benar harus menggunakan cap waktu UNIX, atur zona waktu ke GMT untuk menghindari sebagian besar jebakan yang dirinci di bawah ini.
Sebagian besar jawaban menggunakan cap waktu UNIX (dan 86400 untuk mengonversikannya menjadi beberapa hari) membuat dua asumsi yang, jika disatukan, dapat menghasilkan skenario dengan hasil yang salah dan bug halus yang mungkin sulit dilacak, dan timbul beberapa hari, minggu atau bulan setelahnya. penyebaran yang sukses. Bukannya solusinya tidak bekerja - itu berhasil. Hari ini. Tetapi mungkin berhenti bekerja besok.
Kesalahan pertama adalah tidak mempertimbangkan bahwa ketika ditanya, "Berapa hari telah berlalu sejak kemarin?", Komputer mungkin akan menjawab nol jika antara saat ini dan saat yang ditunjukkan oleh "kemarin" kurang dari satu hari penuh telah berlalu.
Biasanya ketika mengonversi "hari" ke cap waktu UNIX, yang diperoleh adalah cap waktu untuk tengah malam hari itu.
Jadi antara tengah malam 1 Oktober dan 15 Oktober, lima belas hari telah berlalu. Tetapi antara 13:00 tanggal 1 Oktober dan 14:55 tanggal 15 Oktober, lima belas hari dikurangi 5 menit telah berlalu, dan sebagian besar solusi menggunakan floor()
atau melakukan konversi bilangan bulat implisit akan melaporkan satu hari kurang dari yang diharapkan .
Jadi, "berapa hari yang lalu Ymd H: i: s"? akan menghasilkan jawaban yang salah .
Kesalahan kedua adalah menyamakan satu hari menjadi 86400 detik. Ini hampir selalu benar - itu terjadi cukup sering untuk mengabaikan kali tidak. Tetapi jarak dalam detik antara dua tengah malam berturut-turut tentu tidak 86400 setidaknya dua kali setahun ketika waktu musim panas ikut bermain. Membandingkan dua tanggal melintasi batas DST akan menghasilkan jawaban yang salah.
Jadi, bahkan jika Anda menggunakan "peretasan" untuk memaksa semua cap waktu tanggal menjadi jam tetap, katakan tengah malam (ini juga dilakukan secara implisit oleh berbagai bahasa dan kerangka kerja ketika Anda hanya menentukan hari-bulan-tahun dan bukan juga menit-menit-detik; happpens yang sama dengan tipe DATE dalam database seperti MySQL), rumus yang banyak digunakan
(unix_timestamp(DATE2) - unix_timestamp(DATE1)) / 86400
atau
floor(time() - strtotime($somedate)) / 86400
akan kembali, misalnya, 17 ketika DATE1 dan DATE2 berada di segmen DST yang sama tahun ini; tetapi mungkin mengembalikan 17.042, dan lebih buruk lagi, 16.958. Penggunaan floor () atau pemotongan implisit ke bilangan bulat kemudian akan mengonversi apa yang seharusnya menjadi 17 menjadi 16. Dalam keadaan lain, ekspresi seperti "$ hari> 17" akan kembali true
untuk 17.042 bahkan jika ini menunjukkan bahwa jumlah hari yang telah berlalu adalah 18.
Dan hal-hal tumbuh lebih buruk karena kode tersebut tidak portabel di seluruh platform, karena beberapa dari mereka mungkin berlaku detik kabisat dan beberapa mungkin tidak . Pada platform yang melakukannya , perbedaan antara dua tanggal tidak akan menjadi 86400 tetapi 86401, atau mungkin 86399. Jadi kode yang bekerja pada bulan Mei dan benar-benar lulus semua tes akan berakhir pada Juni mendatang ketika 12,99999 hari dianggap 12 hari, bukan 13. Dua tanggal yang bekerja pada tahun 2015 tidak akan berfungsi pada tahun 2017 - tanggal yang sama , dan tahun tidak merupakan tahun kabisat. Tetapi antara 2018-03-01 dan 2017-03-01, pada platform yang peduli, 366 hari akan berlalu sebagai ganti 365, menjadikan 2018 sebagai tahun kabisat (yang bukan).
Jadi, jika Anda benar-benar ingin menggunakan cap waktu UNIX:
gunakan round()
fungsi dengan bijak, bukan floor()
.
sebagai alternatif, jangan menghitung perbedaan antara D1-M1-YYY1 dan D2-M2-YYY2. Tanggal-tanggal tersebut akan benar-benar dianggap sebagai D1-M1-YYY1 00:00:00 dan D2-M2-YYY2 00:00:00. Sebaliknya, konversi antara D1-M1-YYY1 22:30:00 dan D2-M2-YYY2 04:30:00. Anda akan selalu mendapatkan sisa sekitar dua puluh jam. Ini bisa menjadi dua puluh satu jam atau sembilan belas, dan mungkin delapan belas jam, lima puluh sembilan menit tiga puluh enam detik. Tidak penting. Ini adalah margin besar yang akan tinggal di sana dan tetap positif untuk masa mendatang. Sekarang Anda dapat memotongnya dengan floor()
aman.
The benar solusi meskipun, untuk menghindari konstanta ajaib, pembulatan kludges dan utang pemeliharaan, adalah untuk
gunakan perpustakaan waktu (Datetime, Carbon, apa pun); jangan roll Anda sendiri
tulis kasus uji komprehensif menggunakan pilihan tanggal yang benar-benar jahat - melintasi batas DST, melintasi tahun kabisat, melintasi detik kabisat, dan seterusnya, serta tanggal yang biasa. Idealnya (panggilan ke datetime cepat !) Menghasilkan empat tahun penuh (dan satu hari) senilai tanggal dengan mengumpulkan mereka dari string, secara berurutan, dan memastikan bahwa perbedaan antara hari pertama dan hari yang diuji meningkat dengan mantap satu. Ini akan memastikan bahwa jika ada perubahan dalam rutinitas tingkat rendah dan lompatan detik perbaikan mencoba untuk mendatangkan malapetaka, setidaknya Anda akan tahu .
jalankan tes-tes tersebut secara teratur bersama-sama dengan sisa test suite lainnya. Mereka hanya dalam hitungan milidetik, dan dapat menghemat waktu Anda menggaruk kepala selama beberapa jam .
Fungsi di funcdiff
bawah ini mengimplementasikan salah satu solusi (seperti yang terjadi, yang diterima) dalam skenario dunia nyata.
<?php
$tz = 'Europe/Rome';
$yearFrom = 1980;
$yearTo = 2020;
$verbose = false;
function funcdiff($date2, $date1) {
$now = strtotime($date2);
$your_date = strtotime($date1);
$datediff = $now - $your_date;
return floor($datediff / (60 * 60 * 24));
}
########################################
date_default_timezone_set($tz);
$failures = 0;
$tests = 0;
$dom = array ( 0, 31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31 );
(array_sum($dom) === 365) || die("Thirty days hath September...");
$last = array();
for ($year = $yearFrom; $year < $yearTo; $year++) {
$dom[2] = 28;
// Apply leap year rules.
if ($year % 4 === 0) { $dom[2] = 29; }
if ($year % 100 === 0) { $dom[2] = 28; }
if ($year % 400 === 0) { $dom[2] = 29; }
for ($month = 1; $month <= 12; $month ++) {
for ($day = 1; $day <= $dom[$month]; $day++) {
$date = sprintf("%04d-%02d-%02d", $year, $month, $day);
if (count($last) === 7) {
$tests ++;
$diff = funcdiff($date, $test = array_shift($last));
if ((double)$diff !== (double)7) {
$failures ++;
if ($verbose) {
print "There seem to be {$diff} days between {$date} and {$test}\n";
}
}
}
$last[] = $date;
}
}
}
print "This function failed {$failures} of its {$tests} tests between {$yearFrom} and {$yearTo}.\n";
Hasilnya adalah,
This function failed 280 of its 14603 tests
Ini sebenarnya terjadi beberapa bulan lalu. Seorang programmer yang cerdik memutuskan untuk menghemat beberapa mikrodetik dari perhitungan yang paling banyak memakan waktu sekitar tiga puluh detik, dengan memasukkan kode "(MidnightOfDateB-MidnightOfDateA) / 86400" yang terkenal di beberapa tempat. Itu sangat jelas optimasi sehingga dia bahkan tidak mendokumentasikannya, dan optimasi melewati tes integrasi dan mengintai dalam kode selama beberapa bulan, semua tanpa disadari.
Ini terjadi dalam sebuah program yang menghitung upah untuk beberapa penjual terlaris, yang paling sedikit memiliki pengaruh yang jauh lebih menakutkan daripada tim programmer beranggotakan lima orang yang dibuat bersama. Suatu hari beberapa bulan yang lalu, dengan alasan yang tidak terlalu penting, serangga itu menyerang - dan beberapa dari mereka kehilangan satu hari penuh komisi lemak. Mereka jelas tidak senang.
Yang jauh lebih buruk, mereka kehilangan kepercayaan (yang sudah sangat sedikit) yang mereka miliki dalam program yang tidak dirancang untuk secara diam-diam menghabisi mereka, dan berpura-pura - dan memperoleh - tinjauan kode lengkap dan terperinci dengan kasus uji yang dijalankan dan berkomentar dalam istilah awam (ditambah banyak) perawatan karpet merah pada minggu-minggu berikutnya).
Apa yang bisa saya katakan: di sisi positifnya, kami menyingkirkan banyak hutang teknis, dan mampu menulis ulang dan merevisi beberapa bagian dari kekacauan spageti yang menyimak kembali ke serangan COBOL di tahun 90-an yang berayun. Program ini tidak diragukan lagi berjalan lebih baik sekarang, dan ada banyak lagi informasi debug untuk segera dihapus ketika ada sesuatu yang mencurigakan. Saya memperkirakan bahwa hanya satu hal terakhir ini akan menghemat mungkin satu atau dua hari kerja per bulan untuk masa yang akan datang.
Di sisi minusnya, seluruh brouhaha membuat perusahaan harus membayar sekitar € 200.000 di muka - plus muka, ditambah tidak diragukan lagi daya tawar (dan, karenanya, lebih banyak uang).
Orang yang bertanggung jawab untuk "optimasi" telah berganti pekerjaan setahun yang lalu, sebelum bencana, tetapi masih ada pembicaraan untuk menuntutnya atas kerusakan. Dan itu tidak sesuai dengan eselon atas bahwa itu adalah "kesalahan orang terakhir" - itu tampak seperti pengaturan bagi kita untuk menyelesaikan masalah ini, dan pada akhirnya, kita masih berada di rumah anjing dan salah satu tim berencana untuk berhenti.
Sembilan puluh sembilan dari seratus, "86400 hack" akan bekerja dengan sempurna. (Misalnya dalam PHP, strtotime()
akan mengabaikan DST dan melaporkan bahwa antara tengah malam Sabtu terakhir Oktober dan Senin berikutnya, tepatnya 2 * 24 * 60 * 60 detik telah berlalu, bahkan jika itu jelas tidak benar ... dan dua kesalahan dengan senang hati akan memperbaikinya).
Saudara-saudara, ini adalah satu contoh ketika tidak. Seperti kantung udara dan sabuk pengaman, Anda mungkin tidak akan pernah benar - benar membutuhkan kompleksitas (dan kemudahan penggunaan) dari DateTime
atau Carbon
. Tetapi hari ketika Anda mungkin (atau hari ketika Anda harus membuktikan bahwa Anda memikirkan hal ini) akan datang sebagai pencuri di malam hari. Dipersiapkan.
days between two days in php
atau serupa, hanya karena hidup ini terlalu singkat untuk menulis semuanya sendiri.
Mudah digunakan date_diff
$from=date_create(date('Y-m-d'));
$to=date_create("2013-03-15");
$diff=date_diff($to,$from);
print_r($diff);
echo $diff->format('%R%a days');
$diff
variabel dalam hal ini). Sesuatu seperti if ($diff->days > 30) { [doyourstuff]; }
Gaya berorientasi objek:
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
Gaya prosedural:
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
Digunakan ini :)
$days = (strtotime($endDate) - strtotime($startDate)) / (60 * 60 * 24);
print $days;
Sekarang berhasil
Yah, jawaban yang dipilih bukan yang paling benar karena akan gagal di luar UTC. Bergantung pada zona waktu ( daftar ), mungkin ada penyesuaian waktu yang membuat hari "tanpa" 24 jam, dan ini akan membuat perhitungan (60 * 60 * 24) gagal.
Ini dia contohnya:
date_default_timezone_set('europe/lisbon');
$time1 = strtotime('2016-03-27');
$time2 = strtotime('2016-03-29');
echo floor( ($time2-$time1) /(60*60*24));
^-- the output will be **1**
Jadi solusi yang benar akan menggunakan DateTime
date_default_timezone_set('europe/lisbon');
$date1 = new DateTime("2016-03-27");
$date2 = new DateTime("2016-03-29");
echo $date2->diff($date1)->format("%a");
^-- the output will be **2**
Hitung perbedaan antara dua tanggal:
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
Output: +272 hari
Fungsi date_diff () mengembalikan perbedaan antara dua objek DateTime.
Anda dapat menemukan tanggal hanya dengan
<?php
$start = date_create('1988-08-10');
$end = date_create(); // Current time and date
$diff = date_diff( $start, $end );
echo 'The difference is ';
echo $diff->y . ' years, ';
echo $diff->m . ' months, ';
echo $diff->d . ' days, ';
echo $diff->h . ' hours, ';
echo $diff->i . ' minutes, ';
echo $diff->s . ' seconds';
// Output: The difference is 28 years, 5 months, 19 days, 20 hours, 34 minutes, 36 seconds
echo 'The difference in days : ' . $diff->days;
// Output: The difference in days : 10398
jumlah hari antara dua tanggal dalam PHP
function dateDiff($date1, $date2) //days find function
{
$diff = strtotime($date2) - strtotime($date1);
return abs(round($diff / 86400));
}
//start day
$date1 = "11-10-2018";
// end day
$date2 = "31-10-2018";
// call the days find fun store to variable
$dateDiff = dateDiff($date1, $date2);
echo "Difference between two dates: ". $dateDiff . " Days ";
Anda dapat mencoba kode di bawah ini:
$dt1 = strtotime("2019-12-12"); //Enter your first date
$dt2 = strtotime("12-12-2020"); //Enter your second date
echo abs(($dt1 - $dt2) / (60 * 60 * 24));
Jika Anda ingin mengulangi semua hari antara tanggal mulai dan berakhir, saya membuat ini:
$startdatum = $_POST['start']; // starting date
$einddatum = $_POST['eind']; // end date
$now = strtotime($startdatum);
$your_date = strtotime($einddatum);
$datediff = $your_date - $now;
$number = floor($datediff/(60*60*24));
for($i=0;$i <= $number; $i++)
{
echo date('d-m-Y' ,strtotime("+".$i." day"))."<br>";
}
Cara termudah untuk menemukan perbedaan hari antara dua tanggal
$date1 = strtotime("2019-05-25");
$date2 = strtotime("2010-06-23");
$date_difference = $date2 - $date1;
$result = round( $date_difference / (60 * 60 * 24) );
echo $result;
// Change this to the day in the future
$day = 15;
// Change this to the month in the future
$month = 11;
// Change this to the year in the future
$year = 2012;
// $days is the number of days between now and the date in the future
$days = (int)((mktime (0,0,0,$month,$day,$year) - time(void))/86400);
echo "There are $days days until $day/$month/$year";
Ini adalah versi saya yang ditingkatkan yang menunjukkan 1 Tahun 2 Bulan 25 hari jika parameter ke-2 dilewati.
class App_Sandbox_String_Util {
/**
* Usage: App_Sandbox_String_Util::getDateDiff();
* @param int $your_date timestamp
* @param bool $hr human readable. e.g. 1 year(s) 2 day(s)
* @see http://stackoverflow.com/questions/2040560/finding-the-number-of-days-between-two-dates
* @see http://qSandbox.com
*/
static public function getDateDiff($your_date, $hr = 0) {
$now = time(); // or your date as well
$datediff = $now - $your_date;
$days = floor( $datediff / ( 3600 * 24 ) );
$label = '';
if ($hr) {
if ($days >= 365) { // over a year
$years = floor($days / 365);
$label .= $years . ' Year(s)';
$days -= 365 * $years;
}
if ($days) {
$months = floor( $days / 30 );
$label .= ' ' . $months . ' Month(s)';
$days -= 30 * $months;
}
if ($days) {
$label .= ' ' . $days . ' day(s)';
}
} else {
$label = $days;
}
return $label;
}
}
$early_start_date = date2sql($_POST['early_leave_date']);
$date = new DateTime($early_start_date);
$date->modify('+1 day');
$date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']);
$date_b = new DateTime($date->format('Y-m-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']);
$interval = date_diff($date_a, $date_b);
$time = $interval->format('%h:%i');
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60;
// display_error($seconds);
$second3 = $employee_information['shift'] * 60 * 60;
if ($second3 < $seconds)
display_error(_('Leave time can not be greater than shift time.Please try again........'));
set_focus('start_hr');
set_focus('end_hr');
return FALSE;
}
<?php
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
?>
menggunakan kode di atas sangat sederhana. Terima kasih.
function get_daydiff($end_date,$today)
{
if($today=='')
{
$today=date('Y-m-d');
}
$str = floor(strtotime($end_date)/(60*60*24)) - floor(strtotime($today)/(60*60*24));
return $str;
}
$d1 = "2018-12-31";
$d2 = "2018-06-06";
echo get_daydiff($d1, $d2);
Menggunakan fungsi sederhana ini. Deklarasikan fungsi
<?php
function dateDiff($firstDate,$secondDate){
$firstDate = strtotime($firstDate);
$secondDate = strtotime($secondDate);
$datediff = $firstDate - $secondDate;
$output = round($datediff / (60 * 60 * 24));
return $output;
}
?>
dan panggil fungsi ini seperti ini di tempat yang Anda inginkan
<?php
echo dateDiff("2018-01-01","2018-12-31");
// OR
$firstDate = "2018-01-01";
$secondDate = "2018-01-01";
echo dateDiff($firstDate,$secondDate);
?>
$diff = strtotime('2019-11-25') - strtotime('2019-11-10');
echo abs(round($diff / 86400));
Jika Anda menggunakan MySql
function daysSince($date, $date2){
$q = "SELECT DATEDIFF('$date','$date2') AS days;";
$result = execQ($q);
$row = mysql_fetch_array($result,MYSQL_BOTH);
return ($row[0]);
}
function execQ($q){
$result = mysql_query( $q);
if(!$result){echo ('Database error execQ' . mysql_error());echo $q;}
return $result;
}
Coba gunakan Karbon
$d1 = \Carbon\Carbon::now()->subDays(92);
$d2 = \Carbon\Carbon::now()->subDays(10);
$days_btw = $d1->diffInDays($d2);
Anda juga bisa menggunakannya
\Carbon\Carbon::parse('')
untuk membuat objek tanggal Karbon menggunakan string cap waktu yang diberikan.
Mencari semua jawaban, saya menulis fungsi universal yang berfungsi pada semua versi PHP.
if(!function_exists('date_between')) :
function date_between($date_start, $date_end)
{
if(!$date_start || !$date_end) return 0;
if( class_exists('DateTime') )
{
$date_start = new DateTime( $date_start );
$date_end = new DateTime( $date_end );
return $date_end->diff($date_start)->format('%a');
}
else
{
return abs( round( ( strtotime($date_start) - strtotime($date_end) ) / 86400 ) );
}
}
endif;
Secara umum, saya menggunakan 'DateTime' untuk menemukan hari antara 2 tanggal. Tetapi jika dalam beberapa alasan, beberapa pengaturan server tidak mengaktifkan 'DateTime', itu akan menggunakan perhitungan sederhana (tetapi tidak aman) dengan 'strtotime ()'.