【问题标题】:Remove hour, minute and second from a date('r") [closed]从日期中删除小时、分钟和秒('r")[关闭]
【发布时间】:2012-09-05 08:45:31
【问题描述】:

我有一个使用这种格式的日期:

date("r",$dateMktime);

在 $dateMktime 中,我只有年、月和日,我必须使用 date("r") 格式。

如何删除小时、分钟和秒?当我回显我的日期时,我不想看到 00:00:00。

有什么想法吗?谢谢:)

编辑:我不能使用其他格式,必须使用 date('r'),我只能使用 echo date("r",$dateMktime);

【问题讨论】:

  • 嗯...不要使用r,而是另一种格式...?
  • 不,我使用 CMS,这种格式是一种义务... ^^
  • 那么奇怪的 CMS...考虑换一个?
  • 我很困惑。如果您不能只使用不同的日期格式,您打算如何更改 date('r'..) 返回的字符串?做一个 str_replace 什么的,但你肯定可以访问代码,因此可以使用不同的格式吗?
  • 这个问题应该得到比答案更多的-ves

标签: php date mktime


【解决方案1】:

为什么不重新转换然后格式化?如果您“有义务”使用r

$date = date("r", $dateMktime);
echo date('D, j M Y', strtotime($date));

【讨论】:

  • 这似乎是最好的选择,但在这样做时,您最好不要一开始就使用 'r'。本题无效。
  • 但是如果他想用r,让他重新格式化..
【解决方案2】:

根据the documentation of datedate('r') 确实包括时间。请改用date('Y-m-d')。如果无法更改,可以使用 string functions 删除其余部分。

【讨论】:

    【解决方案3】:
    $date=date("r",$dateMktime);
    $d=explode(" ",$date);
    $newdate=$d[0]." ".$d[1]." ".$d[2]." ".$d[3];
    echo $date." - ".$newdate;
    

    【讨论】:

      【解决方案4】:

      你可以试试类似的东西;

      $dateMktime = "Thu, 21 Dec 2000 16:01:07 +0200";
      $datearray = (explode(" ",$dateMktime));
      echo $datearray[3];//this will return 2000
      

      您可以加入此数组的特定部分以获取您的自定义日期格式。例如;

      echo $datearray[1]." ".$datearray[2]." ".$datearray[3];//this will return 21 Dec 2000
      

      【讨论】:

        【解决方案5】:

        “r”只是给出格式为“Thu, 21 Dec 2000 16:01:07 +0200”的日期的快捷方式。

        您可以使用其他格式字符串,有关详细信息,请参阅http://php.net/manual/en/function.date.php

        试试date("D, j M Y",$dateMktime);

        如果你真的想用date("r",$dateMktime);,试试:

        implode(" ",array_slice(explode(" ",date("r",$dateMktime)),0,4));
        

        这基本上只是在空格上分割,切出前 4 个标记,然后将它们重新连接起来。

        【讨论】:

          猜你喜欢
          • 2017-06-10
          • 1970-01-01
          • 1970-01-01
          • 2013-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-18
          相关资源
          最近更新 更多