java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结

java.sql.Date、java.sql.Timestamp区别总结

java.lang.Object
....|__java.sql.Date/java.sql.Time

【父类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]
【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

针对不同的数据库选用不同的日期类型
·Oracle的Date类型,只需要年月日,选择使用java.sql.Timestamp类型

------------------------------------------

四种对象内部均使用系统时间作为标准数据
·系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间(GMT)
·本地时间:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同]

我们使用的是以本地时间为参考标准的
------------------------------------------

String日期格式转换成Date日期格式

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class a {
 
   //主函数
   public static void main(String[] args)
   {
    //
  String str="2011-5-31 14:40:50";
  try {
   java.util.Date utilDate=f_utilDate.parse(str);
   System.out.println(f_utilDate.format(utilDate));
  } catch (ParseException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

//
    java.sql.Date.valueOf("2010-08-20");
    System.out.println(f_sqlDate.format(sqlDate));
   
    //
    java.sql.Time.valueOf("13:44:53");
    System.out.println(f_sqlTime.format(sqltime));
   
    //
    java.sql.Timestamp.valueOf("2010-08-20 14:06:27.186");

System.out.println(f_timestamp.format(timestamp));
   }
}

*******************************************************************************

//java.sql.Date 格式
       try{
        SimpleDateFormat DateFormate =   new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
               java.util.Date date1 = DateFormate.parse("2011-5-31 14:40:50");
               java.sql.Date(date1.getTime());
               System.out.println(DateFormate.format(sqlDate));
       }catch (Exception ex) {
            System.out.println(ex.getMessage());
       }

//java.util.Date 格式
       java.sql.Date.valueOf("2005-12-12");
       java.util.Date(sqlDate1.getTime());
       System.out.println("java.util.Date 格式:"+f.format(utilDate1));

//java.sql.Timestamp
    new java.util.Date().getTime());//此处IDE报错

//java.sql.Time
    new java.util.Date().getTime());

Timestamp timestamp  = new Timestamp(System.currentTimeMillis());

我们可以使用DateFormat处理字符串来定义时间日期的格式
   注:String都是先转换为java.util.Date,然后再转换成所需的格式

示例:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;

import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

public class a  {  
    public static void main(String[] args) throws ParseException{  
        try{  
             String dateString = "2010-08-20 12:00:00.125";   
              DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS",Locale.ENGLISH);//设定格式

dateFormat.setLenient(false);  
             java.util.Date utilDate = dateFormat.parse(dateString);//util类型  
             java.sql.Timestamp(utilDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型

System.out.println(dateTime);  
        }catch(Exception ex){  
            ex.printStackTrace();  
        }       
    }  
}

时间: 2024-10-14 14:25:46

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结的相关文章

java.util.concurrent.locks.Lock类的lock和lockInterruptibly方法的区别

什么是可中断的锁获取呢?就是:线程在等待获取锁的过程中,是否能够响应中断,以便在被中断的时候能够解除阻 塞状态,而不是傻傻地一直在等待.java对象的内置锁(synchronized)就是一种不可中断的锁,也就是说如果一个线 程在等待获取某个对象的内置锁,就算是该线程被其他线程中断,该线程仍然继续等待内置锁,而不是解除阻塞状 态,也不会抛出InterruptedException.Lock类的lock()类似synchronized,是不可中断的,在等待获取锁的过程中, 不响应中断请求:lock

java.sql.Date和java.util.Date的不同和相互转换方式

一:前言 这是我在新的公司写的第一份博客吧,来了又一个星期了吧,但是在来的那几天我真的很迷茫的感觉这里是很不适合我的样子,而且我又是来实习的,我很不愿意啊,自己做的又是java web,最原始的servlet,代码和混乱,这让我很无奈啊,所以我在星期一的时候开始提出辞职,然后老大找我谈了谈,说这个项目是我们外包给别人的,我们只是在他们没空的时候改一改罢了,这样说至少让我感觉到还可以接受,最后我又提了下我自己不想实习,提高工资的事情也通过了,公司的干事效率还是很高的啊.虽然做的是servlet,但

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系

参考:链接 在Web开发中,避免不了对日期的操作,常用的关于时间的类有这么几个: java.util.Date.java.sql.Date.java.sql.Time.java.sql.Timestamp,这几个类在JDK的定义如下所示: java.lang.Object -.|__java.util.Date ---.|__java.sql.Date/java.sql.Timestamp/java.sql.Time -.|__java.security.Timestamp java.util.

java.util.Calendar简介

java.util.Calendar简介 一般写为:import java.util.Calendar;在开头 然后在中间写上, Calendar cal = Calendar.getInstance(); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH);就可以了: Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是

【java】java自带的java.util.logging.Logger日志功能

偶然翻阅到一篇文章,注意到Java自带的Logger日志功能,特地来细细的看一看,记录一下. 1.Java自带的日志功能,默认的配置 ①Logger的默认配置,位置在JRE安装目录下lib中的logging.properties中 ②logging.properties日志文件内容如下: ############################################################ # Default Logging Configuration File # # You

java----数据结构与算法----集合元素的遍历:迭代器-------->JavaAPI:java.util.Iterator+java.util.ListIterator

概述: 迭代器用于集合元素的遍历 迭代器有两种,分别是Iterator和ListIterator Iterator可以用于任何类型集合的遍历 ListIterator只能用于List集合的遍历 ListIterator接口继承了Iterator接口,所以前者拥有后者所定义的所有成员函数,同时,ListIterator还添加了一些具有List集合特性的操作函数,如按照索引访问集合元素.替换/添加集合元素等等 java.util.Iterator /** * @author chen * @date

java util包概述

util是utiliy的缩写,意为多用途的,工具性质的包这个包中主要存放了:集合类(如ArrayList,HashMap等),随机数产生类,属性文件读取类,定时器类等类.这些类极大方便了Java编程,日常java编程中,经常要用到这些类. 介绍 Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.例如,Java提供日期(Data)类.日历 (Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(St

有关java.util.ConcurrentModificationException

有关java.util.ConcurrentModificationException java doc对这个类的定义: This exception may be thrown by methods that have detected concurrent modification of an object when such modification is not permissible. For example, it is not generally permissible for o

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException

异常情况: Tomcat启动时异常:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException 异常内容: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[

java.util.concurrent BlockingQueue

BlockingQueue 它实现了Queue接口.它是A BlockingQueue with one thread putting into it, and another thread taking from it. 一端生产一端消费. 其中的一个线程将不断的将任务放入BlockingQueue,直到遇到它的临界值,但是不允许插入NULL,否则会抛出NullPointerException.另一个线程从中不断的取任务. BlockingQueue 的方法 BlockingQueue 具有