【问题标题】:Convert data time string to date time将数据时间字符串转换为日期时间
【发布时间】:2020-08-04 07:55:13
【问题描述】:

我在将字符串日期转换为 php 日期格式时遇到问题:2020-08-04 13:00:06 (Asia/Kolkata)

我想将其转换为:2020-08-04 13:00:06

我的代码如下:

<?php
    
$date = date('Y-m-d H:i:s', strtotime('2020-08-04 13:00:06 (Asia/Kolkata)'));
echo $date;

但结果不正确,显示结果为:1969-12-31 19:00:00

那么你能帮我解决这个问题吗?

谢谢

【问题讨论】:

  • 看来你只是想切掉时区部分,你真的需要通过日期功能吗?对第二个空格进行简单拆分会产生相同的结果?!

标签: php time


【解决方案1】:

如果字符串中的括号被删除,您的字符串可以用 DateTime 正确解释。

$string = "2020-08-04 13:00:06 (Asia/Kolkata)";
$cleanString = str_replace(['(',')'],'',$string);
$date = new DateTime($cleanString);
var_dump($date);

输出:

object(DateTime)#1 (3) { ["date"]=> string(26) "2020-08-04 13:00:06.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(12) "Asia/Kolkata" }

DateTime 对象也有正确的时区。可以使用格式方法完成输出:

echo $date->format('Y-m-d H:i:s');
//2020-08-04 13:00:06

【讨论】:

    【解决方案2】:

    $date = date('Y-m-d H:i:s', strtotime('2020-08-04 13:00:06')); 回声$日期;

    【讨论】:

      【解决方案3】:

      请使用此代码

      $date = substr("2020-08-04 13:00:06 (Asia/Kolkata)",0,19);
      echo $date;
      

      【讨论】:

        猜你喜欢
        • 2022-08-18
        • 2015-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 2017-08-31
        相关资源
        最近更新 更多