猿问

将数据时间字符串转换为日期时间

我在将字符串日期转换为 php 日期格式时遇到问题:2020-08-04 13:00:06(亚洲/加尔各答)

我想将其转换为: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

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

谢谢


慕标5832272
浏览 103回答 3
3回答

梵蒂冈之花

如果删除字符串中的括号,则可以使用 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 对象也有正确的时区。可以使用 format 方法来完成输出:echo $date->format('Y-m-d H:i:s');//2020-08-04 13:00:06

PIPIONE

$date = date('Ymd H:i:s', strtotime('2020-08-04 13:00:06'));&nbsp;回显$日期;

POPMUISE

请使用此代码$date&nbsp;=&nbsp;substr("2020-08-04&nbsp;13:00:06&nbsp;(Asia/Kolkata)",0,19); echo&nbsp;$date;
随时随地看视频慕课网APP
我要回答