我有以下格式的日期(yyyymmdd,18751104,19140722)…将其转换为date()的最简单方法是什么?或者使用mktime()和子字符串是我的最佳选择…?
使用strtotime()含日期到字符串转换Unix时间戳:
strtotime()
<?php // both lines output 813470400 echo strtotime("19951012"), "\n", strtotime("12 October 1995"); ?>
您可以将结果作为第二个参数传递date()给自己重新格式化日期:
date()
<?php // prints 1995 Oct 12 echo date("Y M d", strtotime("19951012")); ?>
strtotime() 在1970年Unix时代之前的日期将失败。
另一种适用于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 ?>