开发者

Does PHP have an inverse of the date() function (other than strtotime())?

开发者 https://www.devze.com 2023-03-03 16:31 出处:网络
Is there a function that uses the date() format to interpret a string? echo date(\'s-i-H d:m:Y\', 1304591364); // 34-29-17 05:05:2011

Is there a function that uses the date() format to interpret a string?

echo date('s-i-H d:m:Y', 1304591364); // 34-29-17 05:05:2011

// Does this function exist?
echo inverse_date('s-i-H d:m:Y', '34-29-17 05:开发者_如何学运维05:2011'); // 1304591364

I know strtotime(), but it’s failing me in most cases as I am not parsing English date formats.

I’m looking for a function that can dictate the format.


The real answer to this question the way I mean it is http://www.php.net/manual/en/datetime.createfromformat.php

    $date = date_create_from_format('j-M-Y', '15-Feb-2009');
    echo date_format($date, 'Y-m-d'); // 2009-02-15


You would typically use strtotime for that:

echo strtotime('2011-05-05 17:29:34');

From the manual:

strtotime — Parse about any English textual datetime description into a Unix timestamp

See valid date and time formats to be sure that the string you are passing in will be parsed correctly.


PHP 5.4+ will print 1359674625

echo date_create_from_format('j/n/Y G:i:s','1/2/2013 1:23:45')->getTimestamp();


The function mktime seems to do what you want.

Check the help over at php.net:

http://php.net/manual/en/function.mktime.php

EDIT : indeed strtotime may be more convenient for you, I did not know that function, glad to learn.


The accepted answer is right IMO, but you can also use the OO syntax: DateTime::createFromFormat eg:

$dateTimeObject = \DateTime::createFromFormat('G:i', '9:30');
$dateTimeObject->format('H:i');

See http://php.net/manual/en/function.date.php for formatting guides, and http://php.net/manual/en/datetime.createfromformat.php for info on the method described above.


Yes you can use:

echo strtotime("2011-05-05 17:29:34");


Try this to reverse:

$x = '2013-09-15';

$x = implode('-', array_reverse(explode('-', $x)));

// now $x = '15-09-2013'

0

精彩评论

暂无评论...
验证码 换一张
取 消