本文目錄一覽:
Java中date的用法
Date 類從Java 開發包(JDK) 1.0 就開始進化, 當時它只包含了幾個取得或者設置一個日期數據的各個部分的方法, 比如說月, 日, 和年. 這些方法現在遭到了批評並且已經被轉移到了Calendar類里去了, 我們將在本文中進一步討論它.
這種改進旨在更好的處理日期數據的國際化格式. 就象在JDK 1.1中一樣, Date 類實際上只是一個包裹類, 它包含的是一個長整型數據, 表示的是從GMT(格林尼治標準時間)1970年, 1 月 1日00:00:00這一刻之前或者是之後經歷的毫秒數.
創建一個日期對象
讓我們看一個使用系統的當前日期和時間創建一個日期對象並返回一個長整數的簡單例子. 這個時間通常被稱為Java 虛擬機(JVM)主機環境的系統時間.
import java.util.Date;
public class DateExample1 {
public static void main(String[] args) {
// Get the system date/time
Date date = new Date();
System.out.println(date.getTime());
}
關於JAVA的Date類
首先這是Date(long time)的定義:分配 Date 對象並初始化此對象,以表示自從標準基準時間(稱為「曆元(epoch)」,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。
也就是說現在date1是Thu Jan 01 08:00:01 CST 1970,date2是Thu Jan 01 07:59:59 CST 1970,一個是向前數1000毫秒,一個是向後。
long是time這個變數的類型
time是一個單位毫秒的long型變數
這些東西java的API文檔里都有說,多查查就不用讓別人費心了~~
java 中的date怎麼用
1、代碼:System.out.println(new java.util.Date());
輸出:Thu Jan 27 14:43:28 CST 2011
2、代碼:System.out.println(new java.util.Date().toLocaleString());
輸出:2011-1-27 14:45:21
不過現在toLocaleString()方法已過時,由DateFormat.format(Date date)取代。
3、代碼:
DateFormat ddf = DateFormat.getDateInstance();
DateFormat dtf = DateFormat.getTimeInstance();
DateFormat ddtf = DateFormat.getDateTimeInstance();
Date date = new Date();
System.out.println(“日期:” + ddf.format(date));
System.out.println(“時間:” + dtf.format(date));
System.out.println(“日期時間:” + ddtf.format(date));
SimpleDateFormat sdf = (SimpleDateFormat) DateFormat.getDateTimeInstance();
System.out.println(“日期時間:” + sdf.format(date));
輸出:
日期:2011-2-9
時間:11:16:02
日期時間:2011-2-9 11:16:02
日期時間:2011-2-9 11:16:02
以上是在window系統下,linux系統下不能這麼處理,linux系統下用以上獲取回來的初始時間格式與此不同。
java語言中的date類及方法的用法
Date和Calendar是Java類庫里提供對時間進行處理的類,由於日期在商業邏輯的應用中佔據著很重要的地位,所以在這裡想對這兩個類進行一個基本的講解,由於技術有限,不到之處請指正。
Date類顧名思義,一看就知道是和日期有關的類了,這個類最主要的作用就是獲得當前時間了,然而這個類裡面也具有設置時間以及一些其他的功能,可是由於本身設計的問題,這些方法卻遭到眾多批評,而這些遭受批評的功能都已移植到另外一個類裡面,這就是今天要講到的第二個類Calendar裡面。
在講兩個類之前,這裡又不能不多提一個類,那就是DateFormat類,這個類是用來格式化日期的,稍後也會講到。
首先,讓我們來看一個獲取當前時間的例子:
Date date = new Date();
System.out.println(date.getTime());上面的語句首先創建了Date的一個對象,接著使用getTime方法獲得當前的時間,但是注意了,輸出後的結果確實一串長整型的數字,這是為什麼?實際上這是系統根據當前時間計算出來的一個long型的數,至於是如何計算出來的就不在本文中講述了,那既然這樣的話又如何顯示正確的時間呢?這就要利用到上面的DateFormat類了,這個類是一個基類,它有一個子類是SimpleDateFormat,具體用法請看下面的代碼:
Date date = new Date();
SimpleDateFormat dateFm = new SimpleDateFormat(“EEEE-MMMM-dd-yyyy”);
System.out.println(dateFm.format(date));這段代碼開始創建了一個Date的對象,用來獲取當前時間,而重點就在於後面的SimpleDateFormat對象,這個對繼承了DateFormat,利用format方法對Date對象進行格式化,然後輸出,而格式的定製是由用戶定製的,EEEE代表星期,MMMM代表月份,而dd代表日,yyyy代表年。使用這個方法就可以根據用戶自定義的格式進行輸出時間。
上面介紹了由用戶自定義格式的輸出時間,下面將來介紹通過JAVA類庫提供的標準格式輸出時間,這就要用到DateFormat類了,請看以下代碼:
Date date = new Date();
DateFormat dateFm = DateFormat.getDateTimeInstance(DateFormat.SHORT,
DateFormat.SHORT);
System.out.println(dateFm.format(date));這裡使用的方法和用戶自定義的方法差不多,只是這裡使用的是一個抽象類,由於DateFormat是一個抽象類,所以它不能通過構造函數構造對象,在這裡是通過getDateTimeInstance()方法獲得該對象,而所傳遞的參數就是DateFormat裡面定義的一些常量,系統根據這些常量輸出當前時間,由於這裡使用的是getDateTimeInstance方法,所以將傳遞兩個常量參數,用來分別格式化日期和當前的時間。
上面講述了如何獲得系統時間以及如何格式化輸出,那如果想獲取或者設置時間當中的某一部分又該如何呢?例如年,月,日。這就要靠Calendar這個類了,這個類也是一個抽象類,它有一個子類GregorianCalendar,接下來我會利用這個子類來演示這個過程,請看以下代碼:
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
System.out.println(“System Date: ” + dateFormat.format(cal.getTime()));
cal.set(GregorianCalendar.DAY_OF_WEEK,GregorianCalendar.FRIDAY);
System.out.println(“After Setting Day of Week to Friday: ” +
dateFormat.format(cal.getTime()));
這段代碼當中,首先創建了一個DateFormat對象進行格式設置,接著創建了一個GregorianCalendar對象cal,接著使用cal.setTime()方法設置cal對象中的時間為當前時間,然後通過format格式化由cal.getTime()返回的時間進行輸出,後面利用set方法設置cal的日期為當前星期的FRIDAY,此時cal中存儲的時間就是這個星期五的該時刻,而後面利用format格式化輸出,假如當前時間為2005年1月27日星期4的11點30分,那麼最後將那句將會輸出2005年1月28日星期5的11點30分。
原創文章,作者:JIP7A,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130706.html