• java Date时间的各种转换方式和Mysql存时间类型字段的分析


    一:各种Date之间的转换方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    public class TimeTest {
     
        public static void main(String[] args) {
            Date date = new Date();  
             
    //      一、获取当前系统时间和日期并格式化输出:
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
            String dateTime = df.format(date); // Formats a Date into a date/time string.
            System.out.println(dateTime);  // 2017-09-24 23:33:20
             
    //      二、Date转换为Datetime
            long longTime = date.getTime();
            Timestamp timestamp = new Timestamp(longTime);
            System.out.println(timestamp); // 2017-09-24 23:33:20.655
             
    //      三、String转换为Date
            String strTime = "2017-09-24 12:00:01";
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date1 = null;
            try {
                date1 = sdf1.parse(strTime);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            System.out.println(date1); // Sun Sep 24 12:00:01 CST 2017
             
    //      四、Date转换为String
            Date date2 = new Date();
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String str1 = format.format(date2);
            System.out.println(str1); // 2017-09-24
             
    //      五、String转化为java.sql.Date
            String str2 = "2017-12-01";
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
            java.sql.Date sDate = null;
            try {
                java.util.Date date3 = sdf2.parse(str2);
                sDate = new java.sql.Date(date3.getTime());
            } catch (ParseException e) {
                e.printStackTrace();
            }
            System.out.println(sDate); // 2017-12-01
             
        }
     
    }

    二:MySQL数据库中的Date,DateTime,TimeStamp和Time类型

      DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。) 

      DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。

      TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

      TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'。

    创建表(MySql)

     

    datetime和timestamp的区别:
    1.datetime 的日期范围比较大;如果有1970年以前的数据还是要用datetime.但是timestamp 所占存储空间比较小。
    2.timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。

    3.timestamp比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响.

    使用一个常用的格式集的任何一个,你可以指定DATETIME、DATE和TIMESTAMP值:
    'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的一个字符串,允许一种"宽松"的语法:任何标点可用作在日期部分和时间部分之间的分隔符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的。

    三:mysql中存入timestamp 类型时间需要java将时间转为其数据库对应的数据格式 

             Date date=new Date();                             
             SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
             String date1=temp.format(date);  
             Date date2=temp.parse(date1); 

  • 相关阅读:
    Ext JS学习第三天 我们所熟悉的javascript(二)
    Ext JS学习第二天 我们所熟悉的javascript(一)
    Ext JS学习第十七天 事件机制event(二)
    Ext JS学习第十六天 事件机制event(一)
    Ext JS学习第十五天 Ext基础之 Ext.DomQuery
    Ext JS学习第十四天 Ext基础之 Ext.DomHelper
    Ext JS学习第十三天 Ext基础之 Ext.Element
    Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)
    针对错误 “服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF” 的原因分析
    C# 使用HttpWebRequest通过PHP接口 上传文件
  • 原文地址:https://www.cnblogs.com/jpfss/p/9628060.html
Copyright © 2020-2023  润新知