您好我正在尝试解决一些PHP日期格式。我遇到的问题是在我尝试格式化之后返回随机意外结果而不是正确的日期。
我将日期MM/DD/YY
作为字符串传入,我想知道如何将其转换为YYYY/MM/DD
。当它尝试转换日期时,它就像是停留在同一个地方但尝试转换单个部分,以便MM (12)
转到年YYYY (2012)
以下是我用来尝试更改格式的代码部分:
$date = $_GET["datepicker"];
$arr[$i] = strftime("%Y-%m-%d", strtotime($date));
$arr[$i]
只是我将它放入其中的数组不应该影响任何事情。
我也尝试了以下内容:
$arr[$i] = date("Y-m-d", strtotime($date));
谢谢,
基兰
答案 0 :(得分:3)
获得所需输出的最简单方法是使用the DateTime
class,尤其是:DateTime::createFromFormat
:
$date = DateTime::createFromFormat('m/j/y', $_GET['datepicker']);
//now to get the outpu:
$arr[$i] = $date->format('Y-m-d');
还有一种程序式的替代方案:
$date = date_create_from_format('m/j/y', $_GET['datepicker']);
//note, date_create_from_format returns an instance of DateTime
$arr[$i] = date_format($date, 'Y-m-d');//same as $date->format('Y-m-d');
答案 1 :(得分:0)
您可以使用mktime
:
$date = $_GET["datepicker"];
list($month, $day, $year) = explode('/', $date);
$timestamp = mktime(0, 0, 0, $month, $day, $year);
$output = date('Y-m-d', $timestamp)