1、UNIX时间戳转换为日期用函数: FROM_UNIXTIME()select FROM_UNIXTIME(1156219870); 输出:2006-08-22 12:11:102、日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() Select UNIX_TIMESTAMP('2006-11-04 12:23:00');
在工作中遇到一个情况:
日志系统的表中,
时间
字段存储的是13位
时间戳
timestamp而不是
日期
数据,而在业务中,我们需要通过
时间
和ip来进行分组查询给定
日期
的数据.
当然你可以选择在业务层先将传入的
日期
转
为
时间戳
,再去进行查询,但是既然
mysql
既然可以直接进行
转换
,那么省去在业务层的操作何乐而不为呢?
1.首先介绍一下
mysql
中将
时间戳
和
日期
互相
转换
的函数:
时间戳
转换
成
日期
FROM_UNIXTIME():
FROM_UNIXTIME(1429063399,'%Y-%m-%d %H:%i:%s')
如果不需要时分秒,’%Y-%m-%d’就好
上面例子中使用的是10位
时间戳
,若是
平时比较常用的
时间
、字符串、
时间戳
之间的互相
转换
,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法;本文将作为一个笔记,整理一下三者之间的
转换
(即:date
转
字符串、date
转
时间戳
、字符串
转
date、字符串
转
时间戳
、
时间戳
转
date,
时间戳
转
字符串)用法,方便日后查看;
涉及的函数
date_format(date, format) 函数,
MySQL
日期
格式
化函数date_format()
unix_timestamp() 函数
str_to_date(str, format) 函数
from_unixtime(unix_timestamp, format) 函数,
MySQL
时间戳
格式
化函
1. 下面是获取
时间
日期
的方法,需要什么样的
格式
自己拼接起来就好了
2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp
date.getFullYear(); // 获取完整的年份(4位,1970)
date.getMonth(); // 获取月份(0-11,0代表1月,
<br />from_unixtime与UNIX_TIMESTAMP()的
时间
互
转
<br /> <br />from_unixtime()是
MySQL
里的
时间
函数。<br />用法:FROM_UNIXTIME(unix_timestamp,format)<br />format是date的
格式
,如'%Y-%m-%-d';<br />unix_timestamp是LINUX
时间戳
。<br />
例如:<br />
mysql
>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVE...
数据库中
时间戳
概念:
把
时间
t
转换
成从 1970-01-01 00:00 开始到
时间
t所经过的秒数。这个数值就是
时间
t对应的
时间戳
。
由于是数值方便比较和运算
1.
日期
转
时间戳
--
转
十位 selectUNIX_TIMESTAMP('2018-12-25 12:25:00');
结果:1545711900
--
转
十三位 SELECTREPLACE(unix_timestamp(current_timestamp(3)),'.','');
结果:1545711900021
2.
时间戳
转
...