我正在试着把2010-02年度转换到2010年2月。但是,我一直收到1969年12月
我尝试过使用mktime、strtotime以及这两者的某种组合,但仍然无法做到……
这是我最近尝试过的.
$path_title = date('F, Y', mktime(0,0,0,2,0,2010));发布于 2010-02-09 10:42:54
这将是一种方法:
$dateString = '2010-02';
list($year, $month) = explode('-', $dateString);
$timeStamp = mktime(0, 0, 0, $month, 1, $year);
echo date('F, Y', $timestamp);另一种方法是:
$dateString = '2010-02';
$timestamp = strtotime($dateString . '-01');
echo date('F, Y', $timestamp);strtotime不能处理像"2010-02“这样的模糊日期,但是如果你把它设为一个完整的日期,它应该可以工作。
否则,您可能想要研究一下DateTime::createFromFormat之类的东西。
发布于 2010-02-09 10:40:11
试试这个:
$str = '2010-02';
echo date('F, Y',mktime(0,0,0,substr($str,-2),1,substr($str,0,4)));您必须确保对mktime()使用有效的值。在您编辑到问题中的示例中,您将0作为日期,它实际上是第一天减一,这使您进入前一个月。
https://stackoverflow.com/questions/2226354
复制相似问题