我正在尝试将字符串转换为日期。具体来说,是一年中的一串日期。
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()的值。
答案 0 :(得分:1)
strtotime - 将任何英文文本日期时间描述解析为Unix时间戳
参数
<强>时间强> - &GT; 日期/时间字符串 。有效格式在 日期和时间 格式中进行了解释。
因此,您需要提供文本表示或有效的日期格式(不仅仅是几年)。
所以代码必须是这样的: -
<?php
$year = date("Y", strtotime('2017-01-01'));
var_dump($year); // '2018'
输出: - https://eval.in/945561