且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从 yyyymmdd 格式转换为 PHP 中的日期

更新时间:2023-11-29 12:46:22

使用strtotime() 将包含日期的字符串转换为 Unix 时间戳:

<?php
// both lines output 813470400
echo strtotime("19951012"), "
",
     strtotime("12 October 1995");
?>

您可以将结果作为第二个参数传递给 date() 自己重新格式化日期:

You can pass the result as the second parameter to date() to reformat the date yourself:

<?php
// prints 1995 Oct 12
echo date("Y M d", strtotime("19951012"));
?>

注意

strtotime() 将失败,日期早于 1970 年初的 Unix 纪元.

Note

strtotime() will fail with dates before the Unix epoch at the start of 1970.

作为替代方案,它适用于 1970 年之前的日期:

As an alternative which will work with dates before 1970:

<?php
// Returns the year as an offset since 1900, negative for years before
$parts = strptime("18951012", "%Y%m%d");
$year = $parts['tm_year'] + 1900; // 1895
$day = $parts['tm_mday']; // 12
$month = $parts['tm_mon']; // 10
?>