MySQL转换时间戳日期格式

MySQL转换时间戳日期格式

MySQL转换时间戳日期格式

1. 什么是时间戳和日期格式?

在MySQL数据库中,时间戳是一种表示日期和时间的数据类型,它以整型数字形式存储。时间戳通常记录从1970年1月1日00:00:00起到指定日期和时间的秒数。它被广泛应用于存储和操作时间相关的数据。

日期格式是一种表示日期和时间的可读形式,人们可以更容易地理解和使用。在MySQL中,日期格式可以是各种不同的形式,如年-月-日、月/日/年、日-月-年等。

2. 时间戳与日期格式之间的转换

MySQL提供了一些内置函数,可以用于将时间戳转换为日期格式,以及将日期格式转换为时间戳。下面我们将详细介绍这些函数及其使用方法。

2.1 将时间戳转换为日期格式

在MySQL中,可以使用FROM_UNIXTIME()函数将时间戳转换为日期格式。该函数的语法如下:

FROM_UNIXTIME(timestamp, [format])

其中,timestamp是要转换的时间戳,可以是整数或浮点数;format是可选参数,用于指定输出日期的格式。如果不指定format,则默认为”%Y-%m-%d %H:%i:%s”,即”年-月-日 时:分:秒”的格式。

示例代码如下:

SELECT FROM_UNIXTIME(1613306737) AS date;

运行以上代码,将会得到以下结果:

+---------------------+
| date                |
+---------------------+
| 2021-02-14 12:18:57 |
+---------------------+

在以上示例中,我们将时间戳1613306737转换为日期格式,得到了”2021-02-14 12:18:57″。

2.2 将日期格式转换为时间戳

与将时间戳转换为日期格式相反,可以使用UNIX_TIMESTAMP()函数将日期格式转换为时间戳。该函数的语法如下:

UNIX_TIMESTAMP(date)

其中,date是要转换的日期,可以是日期型数据、日期型字面常量、日期型表达式或日期型字符串。

示例代码如下:

SELECT UNIX_TIMESTAMP('2021-02-14 12:18:57') AS timestamp;

运行以上代码,将会得到以下结果:

+------------+
| timestamp  |
+------------+
| 1613306737 |
+------------+

在以上示例中,我们将日期2021-02-14 12:18:57转换为时间戳,得到了1613306737

2.3 格式化日期格式

MySQL还提供了一些函数,用于将日期格式按照指定的格式进行格式化。下面列举一些常用的格式化函数及其使用方法。

  • DATE_FORMAT(date, format):将日期格式化为指定的自定义字符串格式。

    示例代码:

    SELECT DATE_FORMAT('2021-02-14', '%Y/%m/%d') AS formatted_date;
    

    运行以上代码,将会得到以下结果:

    +----------------+
    | formatted_date |
    +----------------+
    | 2021/02/14     |
    +----------------+
在以上示例中,我们将日期`2021-02-14`按照"%Y/%m/%d"的格式进行格式化,输出为"2021/02/14"。
  • DATE(date):从日期时间或日期时间表达式中提取日期部分。

    示例代码:

    SELECT DATE('2021-02-14 12:18:57') AS date_part;
    

    运行以上代码,将会得到以下结果:

    +------------+
    | date_part  |
    +------------+
    | 2021-02-14 |
    +------------+
在以上示例中,我们从日期时间`2021-02-14 12:18:57`中提取了日期部分,得到了`2021-02-14`。
  • TIME(time):从日期时间或日期时间表达式中提取时间部分。

    示例代码:

    SELECT TIME('2021-02-14 12:18:57') AS time_part;
    

    运行以上代码,将会得到以下结果:

    +------------+
    | time_part  |
    +------------+
    | 12:18:57   |
    +------------+
在以上示例中,我们从日期时间`2021-02-14 12:18:57`中提取了时间部分,得到了`12:18:57`。

3. 总结

本文详细介绍了MySQL中时间戳与日期格式之间的转换方法。通过使用FROM_UNIXTIME()函数,可以将时间戳转换为日期格式;而使用UNIX_TIMESTAMP()函数,可以将日期格式转换为时间戳。另外,还介绍了一些常用的日期格式化函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程