Php函数 - 如何更改特定格式的任何日期格式(包括unix时间戳格式)?

时间:2016-06-04 09:43:10

标签: php function date-format unix-timestamp

几天前我问了一个解决方案,允许我从任何其他日期格式开始获取特定的日期格式。我使用的解决方案在此post中被标记为最佳答案。 通过使用这个解决方案,我没有遇到问题,但我今天发现自己应对另一个小问题。在实践中,我还需要以格式' Y-m-d'转换格式date unix timestamp(以毫秒为单位)。我尝试了几种解决方案,但如果我尝试将它们与此功能结合使用,我会遇到问题:

function change_date_format($x) {
    $date = new DateTime($x);
    return $date->format('Y-m-d');
}

我相信你的帮助, 非常感谢你

3 个答案:

答案 0 :(得分:0)

阅读DateTime object documentation会对您有所帮助

function change_date_format_from_unix_timestamp($x) {
    // convert from milliseconds to seconds
    $x = floor($x / 1000);
    // convert timestamp to DateTime object
    $date = DateTime::createFromFormat('U', $x);
    // return formatted date
    return $date->format('Y-m-d');
}

答案 1 :(得分:0)

或许这样的事情?

function change_date_format($x){
  if(is_numeric($x)){
    $date = new DateTime();
    $date->setTimestamp($x);
  } else {
    $date = new DateTime($x);
  }

  return $date->format('Y-m-d');
}

现在时间戳包含毫秒,只需要1000。

答案 2 :(得分:0)

为什么这么复杂?
http://php.net/manual/en/function.date.php
您可以直接在phps日期函数中使用日期格式和unix时间戳。

store_business()