java類date
A. 關於java中Date類的問題
因為java的年是1900年開始計算的,你輸入的107加上1900正好是2007了
這個是java源碼的code,你可以看到,內部就實現了一個加1900
/**
* Allocates a <code>Date</code> object and initializes it so that
* it represents the instant at the start of the second specified
* by the <code>year</code>, <code>month</code>, <code>date</code>,
* <code>hrs</code>, <code>min</code>, and <code>sec</code> arguments,
* in the local time zone.
*
* @param year the year minus 1900.
* @param month the month between 0-11.
* @param date the day of the month between 1-31.
* @param hrs the hours between 0-23.
* @param min the minutes between 0-59.
* @param sec the seconds between 0-59.
* @see java.util.Calendar
* @deprecated As of JDK version 1.1,
* replaced by <code>Calendar.set(year + 1900, month, date,
* hrs, min, sec)</code> or <code>GregorianCalendar(year + 1900,
* month, date, hrs, min, sec)</code>.
*/
@Deprecated
public Date(int year, int month, int date, int hrs, int min, int sec) {
int y = year + 1900;
B. java中Date的使用
java語言中的date類介紹及使用
在JDK1.0中,Date類是唯一的一個代表時間的類,但是由於Date類不便於實現國際化,所以從JDK1.1版本開始,推薦使用Calendar類進行時間和日期處理。這里簡單介紹一下Date類的使用。
1、使用Date類代表當前系統時間
Date d = new Date();
System.out.println(d);
使用Date類的默認構造方法創建出的對象就代表當前時間,由於Date類覆蓋了toString方法,所以可以直接輸出Date類型的對象,顯示的結果如下:
Sun Mar 08 16:35:58 CST 2009
在該格式中,Sun代表Sunday(周日),Mar代表March(三月),08代表8號,CST代表China Standard Time(中國標准時間,也就是北京時間(東八區))。
2、使用Date類代表指定的時間
Date d1 = new Date(2009-1900,3-1,9);
System.out.println(d1);
使用帶參數的構造方法,可以構造指定日期的Date類對象,Date類中年份的參數應該是實際需要代表的年份減去1900,實際需要代表的月份減去1以後的值。例如上面的示例代碼代表就是2009年3月9號。
實際代表具體的年月日時分秒的日期對象,和這個類似。
3、獲得Date對象中的信息
Date d2 = new Date();
//年份
int year = d2.getYear() + 1900;
//月份
int month = d2.getMonth() + 1;
//日期
int date = d2.getDate();
//小時
int hour = d2.getHours();
//分鍾
int minute = d2.getMinutes();
//秒
int second = d2.getSeconds();
//星期幾
int day = d2.getDay();
System.out.println("年份:" + year);
System.out.println("月份:" + month);
System.out.println("日期:" + date);
System.out.println("小時:" + hour);
System.out.println("分鍾:" + minute);
System.out.println("秒:" + second);
System.out.println("星期:" + day);
使用Date類中對應的get方法,可以獲得Date類對象中相關的信息,需要注意的是使用getYear獲得是Date對象中年份減去1900以後的值,所以需要顯示對應的年份則需要在返回值的基礎上加上1900,月份類似。在Date類中還提供了getDay方法,用於獲得Date對象代表的時間是星期幾,Date類規定周日是0,周一是1,周二是2,後續的依次類推。
4、Date對象和相對時間之間的互轉
Date d3 = new Date(2009-1900,3-1,10);
long time = 1290876532190L;
//將Date類的對象轉換為相對時間
long t = d3.getTime();
System.out.println(t);
//將相對時間轉換為Date類的對象
Date d4 = new Date(time);
System.out.println(d4);
使用Date對象中的getTime方法,可以將Date類的對象轉換為相對時間,使用Date類的構造方法,可以將相對時間轉換為Date類的對象。經過轉換以後,既方便了時間的計算,也使時間顯示比較直觀了。
C. 如何將JAVA DATE類型的日期 轉換成指定格式類型的 (如:YYYY-MM-DD) 的 DATE類型數據
Date類型並沒有格式,只有轉換成String格式的時候讓格式化顯示。
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(new Date());
Calendar calendar = Calendar.getInstance();
int year = Integer.parseInt(datetime.substring(0,4));
int month = Integer.parseInt(datetime.substring(5,7));
int date = Integer.parseInt(datetime.substring(8,10));
int hour = Integer.parseInt(datetime.substring(11,13));
int minute = Integer.parseInt(datetime.substring(14,16));
//int second = Integer.parseInt(datetime.substring(17,19));
if(calendar.get(Calendar.YEAR)>year){
int y = calendar.get(Calendar.YEAR)-year;
(3)java類date擴展閱讀:
Date類可以在java.util包中找到,用一個long類型的值表示一個指定的時刻。它的一個有用的構造函數是Date(),創建一個表示創建時刻的對象。getTime()方法返回Date對象的long值。
import java.util.*;
public class Now {
public static void main(String[] args) {
Date now = new Date();
long nowLong = now.getTime();
System.out.println("Value is " + nowLong);
D. 在java的程序里date類型怎麼比較大小呀
有兩個方法:
方法一:
兩個Date類型的變數可以通過compareTo方法來比較。此方法的描述是這樣的:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小於 0 的值;如果此 Date 在 Date 參數之後,則返回大於 0 的值。
(4)java類date擴展閱讀:
Date類可以在java.util包中找到,用一個long類型的值表示一個指定的時刻。它的一個有用的構造函數是Date(),它創建一個表示創建時刻的對象。
getTime()方法返回Date對象的long值。在下面的程序中,我使用Date()構造函數創建一個表示程序運行時刻的對象,並且利用getTime()方法找到這個日期代表的毫秒數量:
import java.util.*;
public class Now {
public static void main(String[] args) {
Date now = new Date();
long nowLong = now.getTime();
System.out.println("Value is " + nowLong);
}
}
E. Java 定義一個Date類
設計一個日期類MyDate,包含一個構造方法,3個私有成員變數year、month、day以及它們相應的setter和getter方法,再加上一個轉換成「XXXX年XX月XX日」格式字元串的方法toString。...
設計一個日期類MyDate,包含一個構造方法,3個私有成員變數year、month、day以及它們相應的setter和getter方法,再加上一個轉換成「XXXX年XX月XX日」格式字元串的方法toString。
F. java的Date類的構造函數有哪些
Date = new Date();
2. Date = new Date(107, 0, 1);
三個參數是year,month,day,都是int型,
107代表2007,是減去1900得到的數,比如要new一個2005年的,就是105,1999年的就是99
0代表1月,這里月份是0-11的數字,0代表1月,1代表2月,依此類推
1表示天數,數字范圍1-31
3. Date = new Date(65, 2, 6, 9, 30, 15, 0);
public Date([yearOrTimevalue:Number], [month:Number], [date:Number], [hour:Number], [minute:Number], [second:Number], [millisecond:Number])
精確到毫秒
G. Java關於Date類的問題
Date 類型的 可以隨意轉換成符合規范的時間格式
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//年月日時分秒
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//年-月-日
SimpleDateFormat df = new SimpleDateFormat("MMM. d, yyyy", Locale.ENGLISH);//英文格式 月.日,年
H. java Date類型。
Data類型是日期類型,通常是為了獲取某些特定的日期或者轉換日期的格式為字元串。舉例:
Date date = new Date();//定義一個當前日期,此時輸出就是日期類型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//創建格式日期類型
String str = sdf.format(date);//對創建的日期進行格式化輸出。此時輸出就是字元串日期類型
輸出結果:2015--6-30 19:17:32。
I. 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系統下用以上獲取回來的初始時間格式與此不同。
J. 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分。