如何将年份字符串转换为PHP中的日期?

时间:2018-01-31 04:24:31

标签: php date

我正在尝试将字符串转换为日期。具体来说,是一年中的一串日期。

strtotime('2017') // Gives us -> 1517372220

$year = '2017';
var_dump($year); // '2017'
$year = date("Y", strtotime($year));
var_dump($year); // '2018' 

为什么日期方法默认为当前时间?我传递一个整数。

根据文档,我似乎正确地实现了这个方法?

  

string date(string $ format [,int $ timestamp = time()])

     

可选的timestamp参数是整数Unix时间戳   如果未给出时间戳,则默认为当前本地时间。在   换句话说,它默认为time()的值。

1 个答案:

答案 0 :(得分:1)

基于strtotime() Manual

strtotime - 将任何英文文本日期时间描述解析为Unix时间戳

  

参数

     

<强>时间 - &GT; 日期/时间字符串 。有效格式在 日期和时间 格式中进行了解释。

因此,您需要提供文本表示或有效的日期格式(不仅仅是几年)。

所以代码必须是这样的: -

<?php

$year = date("Y", strtotime('2017-01-01'));
var_dump($year); // '2018' 

输出: - https://eval.in/945561

参考: - valid formats for strtotime()