zoukankan      html  css  js  c++  java
  • mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等

    mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等

    在mysql的使用过程中,有时候会出现对时间进行的操作,比如时间向前向后滚动,求2个时间的间隔,或者切换时区的操作

    1,时间向前滚动(未来),假如现在有一个开始时间,持续时间,而我的业务只希望知道结束时间,这个时候就需要用到TIMESTAMPADD函数,

      DATE_ADD(date,INTERVAL expr type)

      date 参数是合法的日期表达式,可以是你需要的时间字段,如start_time(假设这是一个字段名)。

      INTERVAL 是固定语法关键词

      expr 参数是您希望添加的时间间隔,如 1  2  5。

      type 参数可以是下列值:

        FRAC_SECOND。毫秒

        SECOND。秒
        MINUTE。分钟
        HOUR。小时
        DAY。天
        WEEK。星期
        MONTH。月
        QUARTER。季度
        YEAR。年

    2, 时间向后滚动(过去),和上面的用法类似,不过这次用的是DATE_SUB函数

      DATE_ADD(date,INTERVAL expr type)

      date 参数是合法的日期表达式,可以是你需要的时间字段,如start_time(假设这是一个字段名)。

      INTERVAL 是固定语法关键词

      expr 参数是您希望添加的时间间隔,如 1  2  5。

      type 参数可以是下列值:

        FRAC_SECOND。毫秒

        SECOND。秒
        MINUTE。分钟
        HOUR。小时
        DAY。天
        WEEK。星期
        MONTH。月
        QUARTER。季度
        YEAR。年
      

    3,求2个时间的间隔,使用TIMESTAMPDIFF函数,

      语法:
        TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

        TIMESTAMPDIFF是语法关键词

        interval是以什么精度返回

        datetime_expr1,第一个时间

        datetime_expr2,另一个时间
      说明:
        返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
        FRAC_SECOND。表示间隔是毫秒
        SECOND。秒
        MINUTE。分钟
        HOUR。小时
        DAY。天
        WEEK。星期
        MONTH。月
        QUARTER。季度
        YEAR。年

    4, 切换时区的方法,在切换时区的时候考虑到日期变更线的问题,所以采用mysql自带的函数显然是明智之选

      CONVERT_TZ(dt,from_tz,to_tz)

      转换datetime值dt,从 from_tz 由给定转到 to_tz 时区给出的时区,并返回的结果值。 如果参数无效该函数返回NULL。

      mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
      +---------------------------------------------------------+
      | CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00') |
      +---------------------------------------------------------+
      | 2004-01-01 22:00:00 |
      +---------------------------------------------------------+
      1 row in set (0.00 sec)
      时区方法原地址https://www.yiibai.com/mysql/mysql_function_convert_tz.html

  • 相关阅读:
    LeetCode105. 从前序与中序遍历序列构造二叉树
    Flask 基础
    24个常用 Python 实现
    大佬的编码建议,让你的代码更pythonic
    rest-framework框架之序列化
    路飞学城项目之加入结算中心接口
    java异常与spring事务关系的知识点查漏补缺
    iserver-数据库型数据源导入后原dataset名称和数据库表名不一致的问题
    解决数据读取的负载均衡的问题
    Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
  • 原文地址:https://www.cnblogs.com/zizaiwuyou/p/9324766.html
Copyright © 2011-2022 走看看