Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从所选日期时间减去5小时30分钟_Php - Fatal编程技术网

Php 从所选日期时间减去5小时30分钟

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'

我试图从所选日期时间中扣除5小时30分钟,但它不起作用

我的php代码

 $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分钟。