1. 程式人生 > >java 基礎:java.util.Date和java.sql.Date的區別和相互轉化

java 基礎:java.util.Date和java.sql.Date的區別和相互轉化

java.util.Date是在除了SQL語句的情況下面使用的。
java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分
它們都有getTime方法返回毫秒數,自然就可以直接構建。 java.util.Date 是 java.sql.Date 的父類,前者是常用的表示時間的類,我們通常格式化或者得到當前時間都是用他,後者之後在讀寫資料庫的時候用他,因為PreparedStament的setDate()的第2引數和ResultSet的getDate()方法的第2個引數都是java.sql.Date。

 java.sql.Date轉為java.util.Date
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());


 java.util.Date轉為java.sql.Date
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
 java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());


這裡所有時間日期都可以被SimpleDateFormat格式化format()
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf(" 2005-12-12");
utilDate=new java.util.Date(sqlDate.getTime());


 另類取得年月日的方法:
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
//如果希望得到YYYYMMDD的格式SimpleDateFormat
sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);
//如果希望分開得到年,月,日SimpleDateFormat
sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);

相關推薦

JAVA基礎(60)---介面與類的區別聯絡

類,介面和抽象類之間的關係以及區別與聯絡 類與類   類與介面  以及 介面與介面 的關係 類與類              

靜態SQL動態SQL區別測試例項

由於近期工作比較悠閒,所以就繼續學習了資料庫SQL的使用,實際工作中接觸最多的是SQL程式設計,那麼本博文就主要介紹動態sql和靜態sql的使用方法和區別,方便自己以後回憶和學習,如果本博文有幸被瀏覽者看到,如有瑕疵和錯誤還請幫忙指正,共同學習和進步。 所謂S

java.util.Datejava.sql.Date區別相互轉化【轉】

java.util.Date是在除了SQL語句的情況下面使用的。 java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分 它們都有getTime方法返回毫秒數,自然就可以直接構建。 java.util.Date 是 java.sql.Date 的父類,前者是常用的表示時間的類,我們通常

java util.Date 轉換為sql.Date

sta orm static form tran stack post return div public static java.sql.Timestamp StrTransSqlDate(String date) { SimpleDateFormat simple

Java基礎學習筆記——數學函數、字符字符串

表示 偶數 相等 sdi 開始 增強 con sca isl 4.2 常用數學函數 Math類中方法分為三類:三角函數、指數函數方法和服務方法。服務方法包括取整、求最小值、求最大值、求絕對值和隨機方法。除了這些方法之外,Math類還提供了兩個很有用的double型常量,

java基礎39 MyEclipse自帶的常用快捷鍵自己定義快捷鍵的方法步驟

inf www. shift -s htm html spa ctrl+左鍵 targe 1、MyEclipse自帶且常用的快捷鍵 內容提示(補全): Alt+/ 導包快捷鍵: Ctrl+Shift+o 格式化代碼: Ctrl+Shift+f 行代

java基礎學習總結(七):Cloneable介面Object的clone()方法

為什麼要克隆 為什麼要使用克隆,這其實反映的是一個很現實的問題,假如我們有一個物件: public class SimpleObject implements Cloneable { private String str; public SimpleObject()

Java基礎 @org.junit.Test-單元測試方法 + 操縱CollectionMap的工具類 : Collections 的sort/binarySearch/max/min等靜態方法

單元測試程式碼:   ( 在IDEA中先輸入'@Test '然後根據提示進行自動修訂即可!!執行時直接執行即可!         若有多個單元測試塊的時候,直接把滑鼠放在哪裡就自動在哪裡執行那個單元塊) import java.util.*; /**操縱Collection和Map

JAVA基礎(61)---資料結構的基本概念邏輯結構以及儲存結構

資料結構                    本章的目的:對資料結構有一個大概的瞭解和認知 資料:能夠儲存

java基礎(十二)抽象類(Abstract class)介面(interface)

抽象類(Abstract class): 抽象類概述: 抽象類是對根源的抽象(即對本質的抽象與其他類的本質不同)。 抽象類表示的是這個東西是什麼。比如男人女人,,他們的抽象類就是人,所以繼承也只能繼承一個類(抽象類)(是人那就是人,不能是別的生物) 且如果有抽象的功能(吃,睡…),該

Java基礎知識回顧之四 ----- 集合List、MapSet

linked 訪問速度 因此 比較 foreach循環 代碼示例 的區別 不同的 寫法 前言 在上一篇中回顧了Java的三大特性:封裝、繼承和多態。本篇則來介紹下集合。 集合介紹 我們在進行Java程序開發的時候,除了最常用的基礎數據類型和String對象外,也經常會用到集

Java基礎------成員變數區域性變數的區別形參問題

在類中的位置不同 (1)成員變數:類中方法外。 (2)區域性變數:方法內部或者方法宣告上。 在記憶體中的位置不同 (1)成員變數:堆記憶體。 (2)區域性變數:棧記憶體。 生命週期不同 (1)成員變數:隨著物件的存在而存在,隨著物件的消失而消失。 (2)區域性變數:隨

java基礎總結(二十九)--Java不可重入鎖可重入鎖理解

來自:https://blog.csdn.net/u012545728/article/details/80843595   最近正在閱讀Java ReentrantLock原始碼,始終對可重入和不可重入概念理解不透徹,進行學習後記錄在這裡。 基礎知識 Java多執行緒的wai

Java基礎面試題(11)----Servlet的理解生命週期

問題 說說對servlet的理解? 什麼是servlet的生命週期? 回答 Servlet是什麼? selvet(server applet),全稱Java Servlet,使用Java語言編寫的服務端程式,這些servlet都需要繼承HttpServlet這個

Java基礎面試題(12)----JSP是什麼內建物件介紹

問題 JSP和Servlet有什麼區別? JSP有哪些內建物件,他們的作用是什麼? 解析1:JSP和Servlet又有什麼區別? JSP和Servlet的關係 我們上次講解Servlet的時候,去看了他的原始碼,最終實現的是Servlet介面。而JSP

Java基礎面試題(16)----JDBC的理解程式碼演示PrepareStatement

問題 說一下對JDBC的理解 程式碼演示連線資料庫 PrepareStatement和statement的使用 解析 JDBC指的是 Java database connection Java資料庫連線資料庫管理系統。 問題是: 實際的資料庫開放廠商有很多

Java基礎(九):logback實現日誌按天大小切分

【前言】        專案中每天會列印很多日誌,有時候進行排錯開啟一個大的日誌檔案(我們有一個系統的線上日誌檔案大小已經超過20G)是一件很可怕的事情;對日誌進行按天的切分是一件非常有必要的事情。 【日誌按天切分】          一、在application.pr

Java基礎(14):IO流—理解I/0概念掌握相關類的作用(附有操作程式碼)

在Java中如果要進行輸出和輸入操作,就需要使用到IO流,例如第一次寫的語句System.out.println("hello,world")就是一個典型的輸出流。IO流是Java的重點知識,除了要理解輸入與輸出的概念,還需要多次編寫程式碼才能更好的理解。IO體系中涉及到的

Java基礎——常用物件API(一)String類StringBuffer類

String 一、特點 字串是一個特殊的物件。 字串一旦初始化就不可被改變。 問:String str = "abc" 和 String str1 = new String("abc") 有什麼區別? new出來的物件在堆記憶體中,產生兩個物件但都在堆記

java基礎鞏固---jdbc介面PreparedStatement執行sql語句

PreparedStatement執行sql語句 public class Demo1 {     /**      * 增加      */     @Test     public vo