关于Mysql中时间的处理

最近在读<人类简史>,读第二遍。只有晚上睡觉之前读一点点,有时候觉得一天可以抽出一个专门的时间来看书了,效率应该能高不少。

另外分享个网址可以随心创作

这里有一个chrome插件,模拟下雨声音的。如果周围的环境比较吵得话,而你觉得音乐分心的话,可以安装Rainy这个插件,模拟下雨天的感觉,让自己浮躁的心沉淀一下。

Mysql中Date相关问题

Mysql中与时间类型相关的类型方式有datetimedatetimetimestamp四种方式,当然也可以通过varchar来存储,但是总归在进行排序或者搜索等的时候,字符方式用起来不是很方便。

这里总结下四中类型的区别:

  • Date类型,只包含日期部分,没有时间部分。以YYYY-MM-DD方式存储,对应java类型是java.sql.date
  • Time类型,只包含时间部分,没有日期部分。以HH:MM:SS格式存储,对应java类型是java.sql.time
  • DateTime类型,同时包含日期和时间部分。以YYYY-MM-DD HH:MM:SS方式存储,存储占8个字节。以实际格式存储,对应java类型是java.sql.timestamp,可以插入默认值now()
  • Timestamp类型,简单来说和Data类型相似。通过它你可以以当前操作的日期和时间自动的标记Insert和Update操作。如果一张表中有多个Timestamp列,只有第一个会被自动更新。存储占四个字节,时间范围比起Datatime来要小,同时存储与时区有关,对应的java类型是java.sql.Timestamp,可以插入默认值CURRENT_TIMESTAMP。具体细节可以搜索相关文章,这里就简单介绍一下.

我在实际中使用的是DateTime类型,因为客户端和服务器传递的都是Json格式的数据,这里就需要在客户端将Timestamp变为string,处理不好的话会报异常比如:

Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffff]

或者 Cannot format given object as a date

在这里我已经解决这两个问题了。

  1. Timestamp->String

    //可以通过toString方式
    Timestamp t= new Timestamp(System.currentTimeMillis());
    System.out.println(t.toString());
    //或者通过DateFormat
    Timestamp t = new Timestamp(System.currentTimeMillis());
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(dateFormat.format(t));
  2. String->Timestamp

    //借助ValueOf()方法
    Timestamp timestamp = new Timestamp(System.currentTimeMillis());
    String dateTime = "2016-12-12 19:28:22";
    timestamp = Timestamp.valueOf(dateTime);

Mysql时间类型处理的更多相关文章

  1. MySQL日期数据类型、MySQL时间类型使用总结

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

  2. mysql 时间类型分类

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围------------ ---- ...

  3. mysql 时间类型datetime与timestamp区别比较

    mysql 时间类型datetime与timestamp区别比较 相同点: 显示宽度和格式相同,显示宽度固定在19字符,格式为YYYY-MM-DD HH:MM:SS. 不同点: (1)时间范围不同: ...

  4. MySQL 时间类型字段的分析

    日期类型                存储空间               日期格式                                           日期范围---------- ...

  5. MySQL:MySQL日期数据类型、MySQL时间类型使用总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间      日期格式                日期范围------------  -------- ...

  6. mysql时间类型和格式转换

    内容目录 简介mysql时间类型DATE_FORMAT()函数 简介 今天开发中,做一个功能需要对历史数据进行补充,相信大家也遇到过这样的情况,这个历史数据需要按月份和人的id进行区分,于是想到了my ...

  7. mysql 时间类型精确到毫秒、微秒及其处理

    一.MySQL 获得毫秒.微秒及对毫秒.微秒的处理 MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒. MySQL 中也没有存储带有毫秒.微秒的日期 ...

  8. MySQL时间类型及获取、展示处理

    MySQL时间格式 mysql所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值 ...

  9. Mysql 时间类型整理

    一.date_sub.SUBDATE.date_add select now(),  date_sub(now(),interval  1 minute),SUBDATE(now(),interval ...

随机推荐

  1. 1Z0-053 争议题目解析24

    1Z0-053 争议题目解析24 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 24.Which of the following information will be gath ...

  2. 重温Servlet学习笔记--servletContext对象

    一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...

  3. (四)WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 在前面我花了两个篇幅来讲解行列号的获取,也解释了为什么要获取行 ...

  4. 【JVM】JVM系列之类加载机制(四)

    一.前言 前面分析了class文件具体含义,接着需要将class文件加载到虚拟机中,这个过程是怎样的呢,下面,我们来仔细分析. 二.什么是类加载机制 把class文件加载到内存,并对数据进行校验.转换 ...

  5. 项目积累html标签

    今天遇到一个不太常用都标签,网上以后慢慢记下项目中用到都东西. 1.<em> 标签 告诉浏览器把其中的文本表示为强调的内容.对于所有浏览器来说,这意味着要把这段文字用斜体来显示. 在文本中 ...

  6. [Web API] Web API 2 深入系列(2) 消息管道

    目录 HttpMessageHandler Web Host模式处理过程 Self Host模式处理过程 HttpMessageHandler Web API处理管道由一系列HttpMessageHa ...

  7. 淡蓝风格的手机登录HTML模板

    查看效果:http://hovertree.com/texiao/mobile/10/ 或者手机扫描二维码查看效果: 效果图: 代码如下: <!DOCTYPE html> <html ...

  8. python批量下载图片的三种方法

    一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ...

  9. JdbcTemplate进行查询

    1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() 例如:下面使用queryForInt()方法传回user表中的记录数: jdbcT ...

  10. 推荐15个最好用的 JavaScript 代码压缩工具

    JavaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程.这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行. 在这篇 ...