【问题标题】:php datetime-local format replace can you help me? [closed]php datetime-local 格式替换你能帮我吗? [关闭]
【发布时间】:2017-12-19 12:06:54
【问题描述】:

你能帮帮我吗? 我需要改变

2017-12-31 11:45:00 

2017-12-31T11:45

使用php函数。

我需要这种本地日期时间格式来输入输入值。

【问题讨论】:

  • 这是T,表示时间。
  • 公平地说:这个问题很糟糕。不过,我真的不明白对答案的反对意见。为了回答不好的问题而投反对票似乎有点极端……
  • @RonnieOosting 你好 :) 只是询问一下。我很想听听反对票背后的原因。只能学习了。
  • 我没有投反对票,但我认为这是因为您不应该鼓励提出不好的问题。但我认为对回答者投反对票并没有任何帮助。降低代表所需的近距离投票/删除投票,糟糕的问题不会持续足够长的时间来获得答案。在这种情况下,OP 已经成为会员 1.5 年和 15 个问题。他应该更清楚。他不了解的唯一原因可能是因为他的问题过去已经得到回答,并且没有足够快地关闭/删除。在我看来。

标签: php string date replace


【解决方案1】:

这可能对你有用:

<?php 
$date = '2017-12-31 11:45:00';
$newdate = date('Y-m-d\TH:i', strtotime($date));
echo $newdate; // 2017-12-31T11:45
;?>

关于strtotime的文档:http://php.net/manual/en/function.strtotime.php

注意:

strtotime 最大日期为“2038 年 1 月 19 日 03:14:07 UTC”。

新解决方案: PHP 5 >= 5.2.0, PHP 7

请考虑使用新的 DateTime 函数:http://php.net/manual/en/datetime.construct.php

新日期时间示例:

<?php

$d = new DateTime("9999-12-31"); 
$d->format("Y-m-d"); // "9999-12-31"

$d = new DateTime("0000-12-31"); 
$d->format("Y-m-d"); // "0000-12-31"

$d = new DateTime("-9999-12-31"); 
$d->format("Y-m-d"); // "-9999-12-31"

?>

【讨论】:

    【解决方案2】:

    这可以很简单地使用 PHP 提供的 DateTime 对象来完成

    <?php
    
    $dt = DateTime::createFromFormat('Y-m-d H:i:s', '2017-12-31 11:45:00');
    $newFormat = $dt->format('Y-m-d\TH:i');
    echo $newFormat;
    

    结果:

    2017-12-19T11:45
    

    【讨论】:

      猜你喜欢
      • 2019-09-13
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      相关资源
      最近更新 更多