<?php
date_asctime( "Mon Oct 21 11:21:31 2012\x0A" );
date_asctime( "Mon Oct 22 12:22:32 2012\x0A" );
date_asctime( "Mon Oct 23 13:23:33 2012\x0A" );
print("==================\n");
date_rfc2822( 'Mon, 21 Oct 2012 21:01 -1011' );
date_rfc2822( 'Mon, 22 Oct 2012 22:02 -1012' );
date_rfc2822( 'Mon, 23 Oct 2012 23:03 -1013' );
/**
* Parse C99's asctime()'s date format
*
* @access protected
* @return int Timestamp
*/
function date_asctime($date)
{
static $pcre;
if (!$pcre)
{
$space = '[\x09\x20]+';
$wday_name = 'Mon'; //$this->day_pcre;
$mon_name = 'Oct'; //$this->month_pcre;
$day = '([0-9]{1,2})';
$hour = $sec = $min = '([0-9]{2})';
$year = '([0-9]{4})';
$terminator = '\x0A?\x00?';
$pcre = '/^' . $wday_name . $space . $mon_name . $space . $day . $space . $hour . ':' . $min . ':' . $sec . $space . $year . $terminator . '$/i';
}
{
}
}
/**
* Parse RFC2822's date format
*
* @access protected
* @return int Timestamp
*/
function date_rfc2822($date)
{
static $pcre;
if (!$pcre)
{
$wsp = '[\x09\x20]';
// $fws = '(?:' . $wsp . '+|' . $wsp . '*(?:\x0D\x0A' . $wsp . '+)+)';
$fws = '(?:(?:(?:\x0D\x0A)?' . $wsp . ')+)';
$optional_fws = $fws . '?';
$day_name = 'Mon'; //$this->day_pcre;
$month = 'Oct'; //$this->month_pcre;
$day = '([0-9]{1,2})';
$hour = $minute = $second = '([0-9]{2})';
$year = '([0-9]{2,4})';
$num_zone = '([+\-])([0-9]{2})([0-9]{2})';
$character_zone = '([A-Z]{1,5})';
$zone = '(?:' . $num_zone . '|' . $character_zone . ')';
$pcre = '/(?:' . $optional_fws . $day_name . $optional_fws . ',)?' . $optional_fws . $day . $fws . $month . $fws . $year . $fws . $hour . $optional_fws . ':' . $optional_fws . $minute . '(?:' . $optional_fws . ':' . $optional_fws . $second . ')?' . $fws . $zone . '/i';
}
// if (preg_match($pcre, $this->remove_rfc2822_comments($date), $match))
{
}
}
?>
PD9waHAKIApkYXRlX2FzY3RpbWUoICJNb24gT2N0IDIxIDExOjIxOjMxIDIwMTJceDBBIiApOwpkYXRlX2FzY3RpbWUoICJNb24gT2N0IDIyIDEyOjIyOjMyIDIwMTJceDBBIiApOwpkYXRlX2FzY3RpbWUoICJNb24gT2N0IDIzIDEzOjIzOjMzIDIwMTJceDBBIiApOwoKcHJpbnQoIj09PT09PT09PT09PT09PT09PVxuIik7CgpkYXRlX3JmYzI4MjIoICdNb24sIDIxIE9jdCAyMDEyIDIxOjAxIC0xMDExJyApOwpkYXRlX3JmYzI4MjIoICdNb24sIDIyIE9jdCAyMDEyIDIyOjAyIC0xMDEyJyApOwpkYXRlX3JmYzI4MjIoICdNb24sIDIzIE9jdCAyMDEyIDIzOjAzIC0xMDEzJyApOwoKCi8qKgogKiBQYXJzZSBDOTkncyBhc2N0aW1lKCkncyBkYXRlIGZvcm1hdAogKgogKiBAYWNjZXNzIHByb3RlY3RlZAogKiBAcmV0dXJuIGludCBUaW1lc3RhbXAKICovCmZ1bmN0aW9uIGRhdGVfYXNjdGltZSgkZGF0ZSkKewogICAgc3RhdGljICRwY3JlOwogICAgaWYgKCEkcGNyZSkKICAgIHsKICAgICAgICAkc3BhY2UgPSAnW1x4MDlceDIwXSsnOwoKICAgICAgICAkd2RheV9uYW1lID0gJ01vbic7ICAvLyR0aGlzLT5kYXlfcGNyZTsKICAgICAgICAkbW9uX25hbWUgPSAnT2N0JzsgICAvLyR0aGlzLT5tb250aF9wY3JlOwoKICAgICAgICAkZGF5ID0gJyhbMC05XXsxLDJ9KSc7CiAgICAgICAgJGhvdXIgPSAkc2VjID0gJG1pbiA9ICcoWzAtOV17Mn0pJzsKICAgICAgICAkeWVhciA9ICcoWzAtOV17NH0pJzsKICAgICAgICAkdGVybWluYXRvciA9ICdceDBBP1x4MDA/JzsKICAgICAgICAkcGNyZSA9ICcvXicgLiAkd2RheV9uYW1lIC4gJHNwYWNlIC4gJG1vbl9uYW1lIC4gJHNwYWNlIC4gJGRheSAuICRzcGFjZSAuICRob3VyIC4gJzonIC4gJG1pbiAuICc6JyAuICRzZWMgLiAkc3BhY2UgLiAkeWVhciAuICR0ZXJtaW5hdG9yIC4gJyQvaSc7CiAgICB9CiAgICBpZiAocHJlZ19tYXRjaCgkcGNyZSwgJGRhdGUsICRtYXRjaCkpCiAgICB7CiAgICAgICBwcmludF9yKCRtYXRjaCk7CiAgICB9Cn0KCgovKioKICogUGFyc2UgUkZDMjgyMidzIGRhdGUgZm9ybWF0CiAqCiAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAqIEByZXR1cm4gaW50IFRpbWVzdGFtcAogKi8KZnVuY3Rpb24gZGF0ZV9yZmMyODIyKCRkYXRlKQp7CiAgICBzdGF0aWMgJHBjcmU7CiAgICBpZiAoISRwY3JlKQogICAgewogICAgICAgICR3c3AgPSAnW1x4MDlceDIwXSc7CgogICAgICAgICAvLyAkZndzID0gJyg/OicgLiAkd3NwIC4gJyt8JyAuICR3c3AgLiAnKig/Olx4MERceDBBJyAuICR3c3AgLiAnKykrKSc7CiAgICAgICAgJGZ3cyA9ICcoPzooPzooPzpceDBEXHgwQSk/JyAuICR3c3AgLiAnKSspJzsKICAgICAgICAkb3B0aW9uYWxfZndzID0gJGZ3cyAuICc/JzsKCiAgICAgICAgJGRheV9uYW1lID0gJ01vbic7ICAvLyR0aGlzLT5kYXlfcGNyZTsKICAgICAgICAkbW9udGggPSAnT2N0JzsgICAgIC8vJHRoaXMtPm1vbnRoX3BjcmU7CgogICAgICAgICRkYXkgPSAnKFswLTldezEsMn0pJzsKICAgICAgICAkaG91ciA9ICRtaW51dGUgPSAkc2Vjb25kID0gJyhbMC05XXsyfSknOwogICAgICAgICR5ZWFyID0gJyhbMC05XXsyLDR9KSc7CiAgICAgICAgJG51bV96b25lID0gJyhbK1wtXSkoWzAtOV17Mn0pKFswLTldezJ9KSc7CiAgICAgICAgJGNoYXJhY3Rlcl96b25lID0gJyhbQS1aXXsxLDV9KSc7CiAgICAgICAgJHpvbmUgPSAnKD86JyAuICRudW1fem9uZSAuICd8JyAuICRjaGFyYWN0ZXJfem9uZSAuICcpJzsKICAgICAgICAkcGNyZSA9ICcvKD86JyAuICRvcHRpb25hbF9md3MgLiAkZGF5X25hbWUgLiAkb3B0aW9uYWxfZndzIC4gJywpPycgLiAkb3B0aW9uYWxfZndzIC4gJGRheSAuICRmd3MgLiAkbW9udGggLiAkZndzIC4gJHllYXIgLiAkZndzIC4gJGhvdXIgLiAkb3B0aW9uYWxfZndzIC4gJzonIC4gJG9wdGlvbmFsX2Z3cyAuICRtaW51dGUgLiAnKD86JyAuICRvcHRpb25hbF9md3MgLiAnOicgLiAkb3B0aW9uYWxfZndzIC4gJHNlY29uZCAuICcpPycgLiAkZndzIC4gJHpvbmUgLiAnL2knOwogICAgfQogICAgLy8gaWYgKHByZWdfbWF0Y2goJHBjcmUsICR0aGlzLT5yZW1vdmVfcmZjMjgyMl9jb21tZW50cygkZGF0ZSksICRtYXRjaCkpCiAgICBpZiAocHJlZ19tYXRjaCgkcGNyZSwgJGRhdGUsICRtYXRjaCkpCiAgICB7CiAgICAgICBwcmludF9yKCRtYXRjaCk7CiAgICB9Cn0gCj8+Cg==