zoukankan      html  css  js  c++  java
  • Mysql时间类型处理

    关于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);
      
  • 相关阅读:
    团队项目第一阶段-意见评论
    团队项目第一阶段-意见汇总
    团队项目第一阶段-项目评审
    团队第一阶段冲刺成果展示
    2020年12月13日
    2020年12月12日
    2020年12月11日
    2020年12月10日
    2020年12月9日
    《代码大全2》阅读笔记06
  • 原文地址:https://www.cnblogs.com/kui0621/p/6165879.html
Copyright © 2011-2022 走看看