这不是一个重复的问题。我使用php date
函数来格式化日期。
我的date
值为:close_date:08/25/2017
。
这是php函数:$close_date = date('Y-m-d', strtotime($close_date));
打印close_date
,结果为:2017-08-26
。
我的时区是:-5:00
且服务器位于UTC
,因此在格式化日期时,日期会转换为utc日期?
所以date
只是根据设置timezone
格式化日期或转换日期?
帮我解决这个问题。
我不想将我的日期转换为任何时区日期,我只想更改日期格式。
我的输入是: 08/25/2017
预期产出为: 2017-08-25
答案 0 :(得分:2)
您可能希望使用DateTime从所需格式创建日期对象,并将其转换为您需要的格式。
var x = document.getElementById("XgP7Wrq-1503732157576");
x.style.color = "#00FF00";
答案 1 :(得分:1)
如果您不想使用PHP date
功能,他们会尝试使用DateTime::createFromFormat
或编写一些手动代码来爆炸$close_date
和以你想要的方式使用它。
第一种方法:
使用DateTime::createFromFormat。这将帮助您根据指定的格式解析时间字符串。
$close_date = DateTime::createFromFormat("m/d/Y", $close_date)->format("Y-m-d");
第二种方法:
使用一些手动代码:
$close_date = "08/25/2017";
$date_vars = preg_split("#/#", $close_date);
print_r($date_vars);
然后使用$date_vars
转换为以下代码所需的格式:
$close_date = $date_vars[2]."-".$date_vars[0]."-".$date_vars[1];
P.S:您还可以使用PHP explode()函数来分解日期值。