ABKYH 发表于 2018-9-29 13:35:52

mysql查询时间戳(TIMESTAMP)

  在mysql数据中查询的时间戳
  1.普通时间转unix/linux时间戳命令
  unix_timestamp()是时间函数
  mysql> selectunix_timestamp(20131001);
  时间格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD
  +--------------------------+
  | unix_timestamp(20131001) |
  +--------------------------+
  |               1380556800 |
  +--------------------------+
  1 row in set (0.00 sec)
  mysql> selectunix_timestamp('2013-10-01 00:00:00');
  +---------------------------------------+
  | unix_timestamp('2013-10-01 00:00:00') |
  +---------------------------------------+
  |                            1380556800 |
  +---------------------------------------+
  1 row in set (0.00 sec)
  2.时间戳转普通时间
  from_unixtime()是MySQL里的时间函数
  mysql> select from_unixtime(1380556800);
  +---------------------------+
  | from_unixtime(1380556800) |
  +---------------------------+
  | 2013-10-01 00:00:00       |
  +---------------------------+
  1 row in set (0.00 sec)
  unix/linux 时间戳与普通时间转换命令
  在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等等。
  下面介绍几种时间戳格式和标准时间格式转换的方法:
  1、分别以标准格式和时间戳来显示当前时间:
  # date//查看当前系统的标准格式的时间的
  2013年 11月 23日 星期六 15:31:39 CST
  # date +%s    //是当前时间距离1970年的秒数。时间戳格式
  1385190897
  2、显示指定时间的时间戳
  # date -d "20131001 08:00:00" +%s
  1380585600
  # date -d "20131001 00:00:00" +%s
  1380556800
  #date +%s -d "20131001 08:00:00" //表示“2013-10-01 08:00:00”这个时间距离1970的秒数
  1380585600
  3、将时间戳转换为标准时间格式
  # date -d '@1380585600'
  2013年 10月 01日 星期二 08:00:00 CST
  # date -d '@1380556800'
  2013年 10月 01日 星期二 00:00:00 CST
  # date -d '1970-01-01 utc 1380556800 seconds'
  2013年 10月 01日 星期二 00:00:00 CST
  补充:
  关于时间格式的解释:
  UTC(Universal Time Coordinated,UTC)世界协调时间
  CST(China Standard Time UTC+8:00)中国沿海时间(北京时间)
  GMT(Greenwich Mean Time)格林威治标准时间:

页: [1]
查看完整版本: mysql查询时间戳(TIMESTAMP)