Reply to Re: Timestamps for 1800's

Your name:

Reply:


Posted by Hilarion on 07/20/05 21:11

DJ Craig wrote:
> I'm trying to convert this date:
> 12 May1868
> Into this:
> 18690512
> That's YYYYMMDD. So first I need to convert it to a UNIX time stamp
> using the strtotime() function, then convert it to YYYYMMDD. This
> works for more rescent dates:
> $d = date('Ymd', strtotime($d));
> I tested that with 19 July2005, and it worked. But the strtotime()
> function seems to return -1 for dates before the UNIX epoch. How can I
> convert these dates?



Something like this should work:

<?php

// Accepts format 'D MmmmYYYY' or 'D MmmYYYY', returns format 'YYYYMMDD'.
// Gives wrong results if input format is wrong, eg. year is not 4 digits.
function convert_date( $text_date )
{
$months = array(
'January' => '01',
'Jan' => '01',
'February' => '02',
'Feb' => '02',
'March' => '03',
'Mar' => '03',
'April' => '04',
'Apr' => '04',
'May' => '05',
'June' => '06',
'Jun' => '06',
'July' => '07',
'Jul' => '07',
'August' => '08',
'Aug' => '08',
'September' => '09',
'Sep' => '09',
'October' => '10',
'Oct' => '10',
'November' => '11',
'Nov' => '11',
'December' => '12',
'Dec' => '12'
);
$year = substr( $text_date, -4 );
$text_date = explode( ' ', substr( $text_date, 0, -4 ) );
$month = $months[ $text_date[ 1 ] ];
$day = str_pad( $text_date[ 0 ], 2, '0', STR_PAD_LEFT );
return $year . $month . $day;
}

echo convert_date( '12 May1868' ) . "\n"; // should output 18680512
echo convert_date( '19 July2005' ) . "\n"; // should output 20050719
echo convert_date( '1 Jan1000' ) . "\n"; // should output 10000101

?>


Hilarion

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация