MYSQL,datetime类型长度填8位。。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
日期型(DATETIME)数据是表示日期数据,用字母D表示。日期的默认格式是{mm/dd/yyyy},其中mm表示月分,dd表示日期,yyyy表示年度,固定长度为8位。日期范围为介于 100 到 9999 年的日期或时间数值。
扩展资料:
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为 *** 作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
将Excel文件中的数据保存到mysql中时,发现日期变成了数字。当excel中的日期以数字显示就会变成类似44721.81这样的数字,这是从1900年开始的天数。
而UNIX时间戳的 0 按照 ISO 8601 规范为 :1970-01-01T00:00:00Z.。也就是从1970开始。
那当我们需要在其他地方处理excel这种时间时就只需要加上70年就行了。接下来的问题就是如何知道这70年的秒数或毫秒数,可以在excel输入1970/1/1然后转换成数字得到25569,这是天数,秒则为25569*24*60*60=2209161600。毫秒的话再乘1000。精度取到秒和毫秒按实际情况定。
在excel中有个日期2022/6/9 19:31:57.850,当其为数字格式时为44721.813864,就叫他Excel时间。
如果需要在java中将其转化为日期,Date date = new Date(new Long(时间戳)这里需要毫秒精度的时间戳。先将Excel时间*一天的毫秒数(24*60*60*1000)-70年(2209161600*1000)-8小时时差(8*60*60*1000)=1654774317850。代入上方得到2022/6/9 19:31:57.850,转换正确。
如果需要在mysql中将其转化为日期,FROM_UNIXTIME(时间戳,'%Y-%m-%d %H:%i:%S')这里只需要秒精度的时间戳。先将Excel时间*一天的秒数(24*60*60)-70年(2209161600)-8小时时差(8*60*60)=1654774317。代入上方得到2022/6/9 19:31:57,转换正确。
当excel中的日期到mysql中变成数字了,只需要FROM_UNIXTIME(Excel时间*86400-2209190400,'%Y-%m-%d %H:%i:%s')就可以转化成正常时间了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)