从 MYSQL 上的时间戳中提取日/月/年

Posted

技术标签:

【中文标题】从 MYSQL 上的时间戳中提取日/月/年【英文标题】:Extract the Day / Month / Year from a Timestamp on MYSQL 【发布时间】:2011-02-23 10:49:57 【问题描述】:

我有:

$date = $actualite['date'];

$actualite['date'] 是一个时间戳

我想知道如何从这个时间戳中提取日期,然后是月份,然后是 3 个变量中的年份。

感谢您的帮助:)

【问题讨论】:

可能的骗子:***.com/questions/1064075/…***.com/questions/2303724/…***.com/questions/238071/… 【参考方案1】:

使用date_parse($actualite['date']);,它将返回一个包含日、月、年和其他项目的数组。

http://www.php.net/manual/en/function.date-parse.php

例子:

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

输出:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] => 
)

【讨论】:

list($year, $month, $day) = array_values(date_parse("2006-12-22 10:00:00"));【参考方案2】:

您可以直接在 mysql 查询中提取值

SELECT DAY( <TIMESTAMP_FIELD> ) AS DAY, 
       MONTH( <TIMESTAMP_FIELD> ) AS MONTH, 
       YEAR( <TIMESTAMP_FIELD> ) AS YEAR
FROM <TABLE>

【讨论】:

@Kermani - 我知道他说他想要什么,我建议使用 alternative 方法来实现相同的目标 @Kermani 他的解决方案按要求工作,并且对 mysql 表中的一个字段很好,它的类型为 TIMESTAMP。问题不正确。提问者要求 MYSQL 解决方案,但显示 PHP 代码。【参考方案3】:

另一种具有更多格式选项的方法是:

$date = date_create($myTimeStamp); // From database "2020-04-09 17:59:20"
$formatedDate = date_format($date, "d/m/y"); // --> 09/04/20

https://www.php.net/manual/en/datetime.format.php

它可能不如date_parse() 直观,但据我所知,它为您提供了更多选择。

【讨论】:

以上是关于从 MYSQL 上的时间戳中提取日/月/年的主要内容,如果未能解决你的问题,请参考以下文章

pandas:从时间戳中提取日期和时间

如何从R中具有月份名称的时间戳中提取日期

如何从java中的字符串时间戳中提取日期和时间

如果时间戳不存在,有没有办法将秒添加到时间戳中?

SQL 从时间戳中提取小时

从时间戳中提取时间?