从 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 上的时间戳中提取日/月/年的主要内容,如果未能解决你的问题,请参考以下文章