转换时间为UTC
问题描述:
我知道这个问题以前有人问,但不知何故我不能得到这个在我的项目工作,所以请大家指教转换时间为UTC
我的PHP代码(这一点,如果别人是因为如果时间设置检查或者没有)
if (isset($_POST['startDate']) && isset($_POST['startTime']))
{
$date = $_POST['startDate'] . " " . $_POST['startTime'];
$date = new DateTime($date);
$date->setTimezone(new DateTimeZone('UTC'));
// $date = date('Y-m-d H:i:s', $date);
} else
{
$date = date('Y-m-d H:i:s');
$date = new DateTime($date);
$date->setTimezone(new DateTimeZone('UTC'));
}
答
试一试::
<html>
<head></head>
<body>
<form action="#" method="POST">
<input name="startDate" type="date"/>
<br>
<input name="startTime" type="time"/>
<input name="Submit" type="submit" value="Submit" />
</form>
</body>
</html>
<?php
if(isset($_POST['Submit'])){
if(isset($_POST['startDate']) && isset($_POST['startTime']))
{
$date = $_POST['startDate'] . " " . $_POST['startTime'];
// $date = "2016-02-01 00:00:01"; Like This..
$date = new DateTime($date, new DateTimeZone("Asia/Calcutta"));
$date ->setTimezone(new DateTimeZone("UTC"));
$output = $date ->format("Y-m-d H:i:s");
//echo $output;
$date = new DateTime($output);
// $date = date('Y-m-d H:i:s', $date);
} else
{
$date ->format("Y-m-d H:i:s");
$date = new DateTime($date, new DateTimeZone("Asia/Calcutta"));
$date ->setTimezone(new DateTimeZone("UTC"));
}
}
?>
+0
我试试这个..它为我工作! :) –
+0
date_default_timezone_set('Asia/Kolkata'); ..你可以设置你的默认时区,如果你得到错误的时间.. –
+0
@dhaval ..你试试这个..本地运行这段代码。你得到什么输出? –
'无法让这个工作'所以我们只是猜测会发生什么?你正在使用什么值? – Machavity
它不起作用?对于其他人,您不需要将日期传递给DateTime。如果你没有传入任何东西,它将使用当前时间。 – aynber
'echo $ _POST ['startDate']。 “”。 $ _POST ['startTime'];'这是什么? – AbraCadaver