关于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. 在Linux下的中断方式读取按键驱动程序

    // 在Linux下的中断方式读取按键驱动程序 //包含外部中断 休眠 加入poll机制 // 采用异步通知的方式 // 驱动程序发 ---> app接收 (通过kill_fasync()发送) ...

  2. android中ProgressBar和ListView

    ProgressBar进度条的使用情况: 进度条的.xml声明:如果不声明格式,则默认格式为转圆圈的形式,声明进度条的visibility为不可见. <ProgressBar android:i ...

  3. $\LaTeX$笔记:首字下沉

    $\LaTeX$系列根目录: Latex学习笔记-序 首字下沉 \IEEEPARstart{W}{ith} ,第一个参数W会变大,占用两行,第二个参数”ith”变会大写. 如代码 \IEEEPARst ...

  4. 【翻译】设计模式学习系列1---【Design Patterns Simplified: Part 1【设计模式简述:第一部分】】

    原文链接:http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part1/ Design Pattern ...

  5. 用户反馈:对 Rafy 开发框架的一些个人建议

      这篇文章是去年 Rafy 框架发布后,许胜平先生为我提出的一些建议.他从用户群体分析.社区.商业模式.技术支持等方面对框架发展提出了建议,我觉得写得非常不错.此文不仅适用于 Rafy 框架,所以不 ...

  6. Visual Studio 2013 Update 3 RTM 正式发布

    VS2013.3 RTM已发布! 完整安装包:http://download.microsoft.com/download/6/F/0/6F0777D3-3541-465F-8639-A8F9D36B ...

  7. log4net的使用

    1.0 下载并引用 log4net.dll 2.0 修改Web.config <configuration> <configSections> <section name ...

  8. OA项目——总结

    先来张大致结构图: 项目链接:https://github.com/shuai7boy/YM_OA

  9. Dom4j操作XML文件

    1. 创建并写入XML public static void writeXML(String filename){ try { Document document = DocumentHelper.c ...

  10. ABP之模块

    ABP的反射 为什么先讲反射,因为ABP的模块管理基本就是对所有程序集进行遍历,再筛选出AbpModule的派生类,再按照以来关系顺序加载. ABP对反射的封装着重于程序集(Assembly)与类(T ...