简体   繁体   中英

Extract the Day / Month / Year from a Timestamp on MYSQL

I have :

$date = $actualite['date'];

$actualite['date'] is a TIMESTAMP

And I was wondering how can I extract from this timestamp the day, then the month, then the year in 3 variables.

Thank you for your help :)

Use date_parse($actualite['date']); , which will return an array containing the day, month, year and other items.

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

Example:

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

Output:

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] => 
)

You can extract the values directly within your MySQL query

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

Another way with more options for formatting would be:

$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

It might be less intuitive than date_parse() but gives you more options as far as I can see.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM