Php 从所选日期时间减去5小时30分钟
我试图从所选日期时间中扣除5小时30分钟,但它不起作用 我的php代码Php 从所选日期时间减去5小时30分钟,php,Php,我试图从所选日期时间中扣除5小时30分钟,但它不起作用 我的php代码 $ambulanceDate = date('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime'])); $date1 = str_replace('-', '/', $ambulanceDate); $ambulanceUpdatedDate = date('m-d-Y'
$ambulanceDate = date('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime']));
$date1 = str_replace('-', '/', $ambulanceDate);
$ambulanceUpdatedDate = date('m-d-Y',strtotime($date1 . "-5 hours 30 minutes"));
$ambulanceUpdatedDate = new DateTime($ambulanceUpdatedDate);
你为什么要用“-”、“/”、$AmbunceDate替换(“-”、$AmbunceDate”)代码>?你能不能只做日期('Y/m/d H:i:s' 这应该做到:
//Change 'Y-m-d H:i:s' with the format of your ambuStartDate, and ambuStartTime.
$ambulanceDate = DateTime::createFromFormat('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime']));
$ambulanceUpdatedDate = $ambulanceDate->sub(new DateInterval('P5DT30M'));
//Format it how you like:
$formattedUpdatedDate = $ambulanceUpdatedDate->format('m-d-Y h:iA');
请参见您为什么要执行$date1=str_replace(“-”、“/”、$AmbunceDate);?您不能只执行日期('Y/m/d H:i:s') 这应该做到:
//Change 'Y-m-d H:i:s' with the format of your ambuStartDate, and ambuStartTime.
$ambulanceDate = DateTime::createFromFormat('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime']));
$ambulanceUpdatedDate = $ambulanceDate->sub(new DateInterval('P5DT30M'));
//Format it how you like:
$formattedUpdatedDate = $ambulanceUpdatedDate->format('m-d-Y h:iA');
请参见使用
modify
函数和DateTime
:
此处演示:
由于问题确实希望将本地时间转换为UTC时间,因此进行了优化:
<?php
date_default_timezone_set('Asia/Kolkata');
//$ambulanceDate = date('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime']));
$ambulanceDate = date('Y-m-d H:i:s', time());
$indian_time = new DateTime($ambulanceDate);
$utc_time = new DateTime($ambulanceDate);
$ambulanceUpdateTime = $utc_time
->setTimezone(new DateTimeZone('UTC'))
->format('m-d-Y H:i:s');
echo 'Indian time: ' . $indian_time->format('m-d-Y H:i:s') . PHP_EOL;
echo 'UTC time: ' . $ambulanceUpdateTime;
使用修改
函数和日期时间
:
此处演示:
由于问题确实希望将本地时间转换为UTC时间,因此进行了优化:
<?php
date_default_timezone_set('Asia/Kolkata');
//$ambulanceDate = date('Y-m-d H:i:s', ($_POST['ambuStartDate'] . " " . $_POST['ambuStartTime']));
$ambulanceDate = date('Y-m-d H:i:s', time());
$indian_time = new DateTime($ambulanceDate);
$utc_time = new DateTime($ambulanceDate);
$ambulanceUpdateTime = $utc_time
->setTimezone(new DateTimeZone('UTC'))
->format('m-d-Y H:i:s');
echo 'Indian time: ' . $indian_time->format('m-d-Y H:i:s') . PHP_EOL;
echo 'UTC time: ' . $ambulanceUpdateTime;
这不是一条评论,不是对他的问题的回答吗?是的,我以为我是在@MASIDDIQUI创建了一条评论。我最终只是把它变成了一个答案。对不起,不起作用。我有一个输入字段,显示印度时间,管理员可以修改这个时间,所以我需要用UTC保存这个时间,因为这是遵循的标准,所以我正在尝试转换它,但你的代码没有从时间中扣除5小时30分钟。这不是一条评论吗?不是对他的问题的回答吗?是的,我以为我创建了一条评论@MASIDDIQUI。我只是把它变成了一个答案。对不起,不起作用。我有一个输入字段,显示印度时间,管理员可以修改这个时间,所以我需要保存e这一次使用UTC,因为这是遵循的标准,因此我尝试转换它,但您的代码没有从时间中扣除5小时30分钟。.在DateTime
类中有一个日期-时间差api,您可以使用,只需使用php手册。我尝试了很多方法来实现这一点,但都失败了您可以使用的DateTime
类中的时差api,只需使用php手册。我尝试了很多方法来实现这一点,但都失败了。对不起,不起作用。我有一个输入字段,显示印度时间,管理员可以修改此时间,因此我需要将此时间保存为UTC,因为这是遵循的标准,因此我尝试正在进行转换,但您的代码没有从时间中减去5小时30分钟。因此,输入时间是印度时间,您想将此时间保存为UTC吗?@DhavalChheda我更新了答案,使用API转换时区,而不是减去5小时30分钟。抱歉,不起作用。我有这个输入字段,显示印度时间,管理员可以修改这段时间,所以我需要将这段时间保存为UTC,因为这是遵循的标准,因此我尝试转换它,但您的代码没有从时间中减去5小时30分钟。所以输入时间是印度时间,您想将这段时间保存为UTC吗?@DhavalChheda我更新了答案,使用API转换时区,而不是减去5小时30分钟。