欢迎访问宙启技术站
智能推送

实际开发中常用的日期时间相关函数详解

发布时间:2023-06-23 20:22:07

在实际开发中,日期时间的处理是非常常见的操作。在许多业务场景下,需要对日期时间进行格式化、计算、比较等操作。以下是常用的日期时间相关函数的详解。

1. 时间戳转换成日期时间格式

时间戳是一个整数,表示从1970年1月1日 00:00:00到现在的秒数。在数据库中,常以时间戳的形式存储时间。常用的时间戳转换成日期时间格式的方法有:

- 使用时间戳函数将时间戳转换成日期时间格式:

    SELECT FROM_UNIXTIME(timestamp,'%Y-%m-%d %H:%i:%s') AS datetime FROM table;
    

该语句将会把时间戳转换成标准的年-月-日 时:分:秒格式。

- 使用第三方库 moment.js(适用于 JavaScript 的小型库)转换时间戳成日期时间格式:

    moment.unix(timestamp).format("YYYY-MM-DD HH:mm:ss");
    

2. 日期时间格式化

在实际开发中,常需要对日期时间进行格式化,例如将日期时间格式化为“年-月-日”或“年/月/日”等格式。常用的日期时间格式化方法有:

- 使用 MySQL 内置函数 DATE_FORMAT 将日期时间格式化为指定格式:

    SELECT DATE_FORMAT('2019-07-01 23:56:12', '%Y-%m-%d') AS date;
    

该语句将会返回 2019-07-01 这样的日期格式。

- 使用第三方库 moment.js(适用于 JavaScript 的小型库)格式化日期时间:

    moment(date).format("YYYY-MM-DD");
    

该语句将会返回 2019-07-01 这样的日期格式。

3. 获取当前日期时间

常用的获取当前日期时间方法有:

- 使用 MySQL 内置函数 NOW 获取当前日期时间:

    SELECT NOW() AS current_datetime;
    

该语句将会返回当前日期时间,例如 2019-07-01 23:56:12。

- 使用第三方库 moment.js (适用于 JavaScript 的小型库)获取当前日期时间:

    moment().format("YYYY-MM-DD HH:mm:ss");
    

该语句将会返回当前日期时间,例如 2019-07-01 23:56:12。

4. 日期时间加减

在实际开发中,常需要对日期时间进行加减,例如将日期时间加一天或减一天等操作。常用的日期时间加减方法有:

- 使用 MySQL 内置函数 DATE_ADD 和 DATE_SUB 进行日期时间加减:

    SELECT DATE_ADD("2019-07-01 23:56:12", INTERVAL 1 DAY) AS add_datetime; -- 加一天
    SELECT DATE_SUB("2019-07-01 23:56:12", INTERVAL 1 DAY) AS sub_datetime; -- 减一天
    

该语句将会返回加一天或减一天后的日期时间。

- 使用第三方库 moment.js(适用于 JavaScript 的小型库)进行日期时间加减:

    moment(date).add(1, 'day').format('YYYY-MM-DD HH:mm:ss'); -- 加一天
    moment(date).subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'); -- 减一天
    

该语句将会返回加一天或减一天后的日期时间。

5. 比较日期时间大小

在实际开发中,常需要比较两个日期时间的大小。常用的日期时间比较方法有:

- 使用 MySQL 内置函数 DATEDIFF 得到两个日期时间之间的天数差:

    SELECT DATEDIFF('2019-07-01 23:56:12', '2019-06-28 12:12:00') AS diff_days;
    

该语句将会返回两个日期时间之间相差的天数。

- 使用第三方库 moment.js (适用于 JavaScript 的小型库)比较两个日期时间的大小:

    moment(date1).isBefore(date2); -- 判断 date1 是否早于/小于 date2
    moment(date1).isSame(date2); -- 判断 date1 是否等于 date2
    moment(date1).isAfter(date2); -- 判断 date1 是否晚于/大于 date2
    

该语句将会返回 date1 与 date2 之间的关系(早于/等于/晚于)。

以上是常用的日期时间相关函数的详解,在实际开发中,可以根据具体需求选择适合的方法进行日期时间的处理。