zoukankan      html  css  js  c++  java
  • 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); 

  • 相关阅读:
    自定义Android核心服务实践
    RootExplorer怎么样获取root权限的
    android性能测试工具之dumpsys
    gettimeofday() 获取当前时间(保存在结构体timeval中)
    Android学习之Service命令的妙用
    linux内存管理之非连续物理地址分配(vmalloc)
    Android dumpsys
    Linux下进程信息的深入分析
    Android调试工具之adbs
    如何分析Android的内存使用
  • 原文地址:https://www.cnblogs.com/jpfss/p/9628060.html
Copyright © 2011-2022 走看看