mysql时间属性之时间戳和datetime之间的转换

一、datetime转换为时间戳

    方案一:强制转换字段类型

1 use`nec`;
2 SET SQL_SAFE_UPDATES=0;
3 ALTER TABLE `usr_user_info` CHANGE COLUMN `registerTime` `registerTime` BIGINT(20) NOT NULL COMMENT ‘注册时间‘ ,
4 ALTER TABLE `usr_user_info` CHANGE COLUMN `lastLoginTime` `lastLoginTime` BIGINT(20) NULL DEFAULT NULL COMMENT ‘最后登录时间‘ ;
5 UPDATE `usr_user_info` SET  `lastLoginTime` = unix_timestamp(`lastLoginTime`);
6 UPDATE `usr_user_info` SET  `registerTime` = unix_timestamp(`registerTime`);

方案二:增加临时列

 1 --
 2 -- table alter for usr_user_info
 3 --
 4 /*增加字段*/
 5 use `nec`;
 6 ALTER TABLE `usr_user_info` ADD COLUMN tempRegisterTime BIGINT(20) NULL ;
 7 ALTER TABLE `usr_user_info`  ADD COLUMN tempLastLoginTime BIGINT(20) NULL ;
 8
 9 /*进行时间转化,并复制列*/
10 UPDATE  usr_user_info SET tempRegisterTime=unix_timestamp(registerTime);
11 UPDATE  usr_user_info SET tempLastLoginTime=unix_timestamp(lastLoginTime);
12
13 /*删除原有字段*/
14 ALTER TABLE usr_user_info
15     DROP registerTime,DROP lastLoginTime;
16
17 /*更新临时字段名称*/
18 ALTER TABLE usr_user_info CHANGE tempRegisterTime registerTime BIGINT(20) NOT NULL  COMMENT ‘注册时间‘;
19 ALTER TABLE usr_user_info CHANGE tempLastLoginTime lastLoginTime BIGINT(20)  COMMENT ‘最近登录时间‘;

二、时间戳转换成datetime

这个谷歌一堆教程,主要涉及‘FROM_UNIXTIME(registerTime )‘这个转换函数,不仔细详述了

时间: 2024-07-30 09:20:03

mysql时间属性之时间戳和datetime之间的转换的相关文章

python timestamp和datetime之间的转换

做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的. 1. 字符串日期时间转换成时间戳 # '2015-08-28 16:43:37.283' --> 1440751417.283 # 或者 '2015-08-28 16:43:37' --> 1440751417.0 def string2timestamp(strValue): try

日期、时间戳、字符串之间的转换

1. 日期字符串(String)转换成日期类型(Date) String nowDateStr = "2016/08/15 12:13:14"; // 注意DateFormat的格式(即yyyy/MM/dd HH:mm:ss)要与日期字符串(即2016/08/15 12:13:14)的格式相匹配 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = sdf.parse(no

Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?

TIMESTAMP 4个字节储存;值以UTC格式保存;.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区. DATETIME 8个字节储存;实际格式储存;与时区无关;datetime 以'YYYY- MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于2037 INT 存时间戳.占用资源少,查询速度快.条件范围搜索使用betwee

MYSQL时间类别总结: TIMESTAMP、DATETIME、DATE、TIME、YEAR

总结背景: 对于MYSQL数据库日期类型或多有了解, 但并很清晰其中一些规则. 基本都是面向浏览器编码, 这实质上也是一种方式.  但期间遇到两个问题: 时常遇到建表中出现多个datetime或者timestamp字段并使用 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP时报错, 难以查到原因, 最后粗暴的直接去掉 查询网络非官方文档知识点不全, 越查越糊涂 因为这两点 促使我硬着头皮查看MYSQL的官方文档 虽然刚开始很难受 结果的确

时间戳标准日期之间的转换

        源码下载 代码实现: //时间戳转标准时间 - (void)Click1:(UIButton *)btn { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 NSString *str = [NSString stringWith

日期与时间戳之间的转换

验证时间戳与日期之间的转换: var timestamp = Date.parse(new Date()); //获取当前时间的时间戳 timestamp = timestamp / 1000; console.log(timestamp); var stringTime1 = "2014-07-10 10:21:12"; //获取固定格式时间的时间戳 var timestamp1 = Date.parse(new Date(stringTime1)); timestamp1 = ti

【翻译】Flink Table Api & SQL —Streaming 概念 ——时间属性

本文翻译自官网: Time Attributes   https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streaming/time_attributes.html Flink能够根据不同的时间概念处理流数据. Process time 是指正在执行相应操作的机器的系统时间(也称为“挂钟时间”). Event time 是指基于附在每行上的时间戳对流数据进行处理.时间戳可以在事件发生时进行编码. Inges

mysql数据库时间戳与正常时间格式之间的转换

mysql时间转换成时间戳create_time between UNIX_TIMESTAMP('2015-11-20 00:00:00') and UNIX_TIMESTAMP('2015-11-20 23:59:59') 时间戳转换成yyyy-mm-dd格式FROM_UNIXTIME(create_time,'%Y-%m-%d') < '2015-11-12'

python中时间戳,datetime 和时间字符串之间得转换

# datetime时间转为字符串def Changestr(datetime1):    str1 = datetime1.strftime('%Y-%m-%d %H:%M:%S')    return str1 # 字符串时间转为时间戳def Changetime(str1):    Unixtime = time.mktime(time.strptime(str1, '%Y-%m-%d %H:%M:%S'))    return Unixtime # datetime时间转为时间戳def