zoukankan      html  css  js  c++  java
  • java.util.Date_与_java.sql.Date互转_及_字符串转换为日期时间格式

    1、将java.util.Date 转换为 java.sql.Date

     

     

    Java代码  收藏代码
    1. java.util.Date utilDate = new java.util.Date();  
    2. java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());  

     

    2、如何将"yyyy-mm-dd"格式的字符串转换为java.sql.Date

        a,

     

    Java代码  收藏代码
    1. String  dateStringToParse  =  "2012-03-22";     
    2. java.util.Date  date  =  new SimpleDateFormat("yyyy-MM-dd").parse(dateStringToParse);     
    3. java.sql.Date  sqlDate  =  new java.sql.Date(date.getTime());  
      b,
       
       
    Java代码  收藏代码
    1. String strDate="2012-03-22";  
    2. StringTokenizer  st  =  new  StringTokenizer(strDate, "-");     
    3. java.sql.Date date=new  java.sql.Date(Integer.parseInt(st.nextToken()));  

       

     

    3,若要插入到数据库并且相应的字段为Date类型

     

    可使用PreparedStatement.setDate(int ,java.sql.Date)方法

    其中的java.sql.Date可以用上面的方法得到

     

     

     

     

     

     

     

     

     

     

    java.util.Date和java.sql.Date的区别

     

         java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。 但是为什么java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取呢?

     

     

        java.sql.Date是为了配合SQL DATE而设置的数据类型。“规范化”的java.sql.Date只包含年月日信息,时分秒毫秒都会清零。格式类似:YYYY-MM-DD。当我们调用ResultSet的getDate()方法来获得返回值时,java程序会参照"规范"的java.sql.Date来格式化数据库中的数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。

     

     

        在sun提供的ResultSet.java中这样对getDate进行注释的:

    Retrieves the of the designated column in the current row of this 

    <code>ResultSet</code> object as a “java.sql.Date”

     object in the Java programming language.

     

     

    同理。如果我们把一个java.sql.Date值通过PrepareStatement的setDate方法存入数据库时,java程序会对传入的java.sql.Date规范化,非规范化的部分将会被劫取。然而,我们java.sql.Date一般由java.util.Date转换过来,如:java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()).

     

    显然,这样转换过来的java.sql.Date往往不是一个规范的java.sql.Date.要保存java.util.Date的精确值,我们需要利用java.sql.Timestamp.

     

     

     

    Java代码  收藏代码
    1. Calendar:  
    2. Calendar calendar=Calendar.getInstance();   
    3. //获得当前时间,声明时间变量  
    4. int year=calendar.get(Calendar.YEAR)-1900;   
    5. //得到年  
    6. int month=calendar.get(Calendar.MONTH);   
    7. //得到月,但是,月份要加上1   
    8. month=month+1;   
    9. int date=calendar.get(Calendar.DATE);   
    10. //获得日期   
    11. String today=""+year+"-"+month+"-"+date+"";  
    12. 字符串转换成日期时间格式  
    13. //日期时间格式:yyyy-MM-dd hh:mm:ss  
    14. String time ="1900-02-21 12:23:33";  
    15. //将字符串转换为日期和时间  
    16. SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
    17.  //生成的日期和时间  
    18. Date date = dateformat .parse(time);  
  • 相关阅读:
    EntityFramework优缺点
    领导者与管理者的区别
    七个对我最好的职业建议(精简版)
    The best career advice I’ve received
    Difference between Stored Procedure and Function in SQL Server
    2015年上半年一次通过 信息系统项目管理师
    Difference between WCF and Web API and WCF REST and Web Service
    What’s the difference between data mining and data warehousing?
    What is the difference between a Clustered and Non Clustered Index?
    用new创建函数的过程发生了什么
  • 原文地址:https://www.cnblogs.com/FredCong/p/2664966.html
Copyright © 2011-2022 走看看