Php 函数 - 如何更改特定格式的任何日期格式(包括 unix 时间戳格式)?
Php function - How can I change any date format in a particular format (including unix timestamp format)?
几天前,我寻求一种解决方案,让我能够从任何其他日期格式开始获取特定的日期格式。我正在使用的解决方案在 中被标记为最佳答案。
通过使用这个解决方案,我没有遇到任何问题,但我今天发现自己要处理另一个小问题。在实践中,我还需要将格式日期unix时间戳(以毫秒为单位)转换为格式'Y-m-d'。我尝试了几种解决方案,但如果我尝试将它们与此功能结合使用,我会遇到问题:
function change_date_format($x) {
$date = new DateTime($x);
return $date->format('Y-m-d');
}
我相信你的帮助,
非常感谢
阅读 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');
}
也许是这样的?
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即可。
为什么这么复杂?
参见 http://php.net/manual/en/function.date.php。
你可以直接在phps日期函数中使用日期格式和unix时间戳。
function change_date_format($x){
return date('Y-m-d', $x/1000);
}
几天前,我寻求一种解决方案,让我能够从任何其他日期格式开始获取特定的日期格式。我正在使用的解决方案在
function change_date_format($x) {
$date = new DateTime($x);
return $date->format('Y-m-d');
}
我相信你的帮助, 非常感谢
阅读 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');
}
也许是这样的?
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即可。
为什么这么复杂?
参见 http://php.net/manual/en/function.date.php。
你可以直接在phps日期函数中使用日期格式和unix时间戳。
function change_date_format($x){
return date('Y-m-d', $x/1000);
}