java.util.Date類 表示特定的瞬間,精確到毫秒。
公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出高臺免費(fèi)做網(wǎng)站回饋大家。繼續(xù)查閱Date類的描述,發(fā)現(xiàn)Date擁有多個構(gòu)造函數(shù),只是部分已經(jīng)過時,我們重點(diǎn)看以下兩個構(gòu)造函數(shù)。
Date()
:從運(yùn)行程序的此時此刻到時間原點(diǎn)經(jīng)歷的毫秒值,轉(zhuǎn)換成Date對象,分配Date對象并初始化此對象,以表示分配它的時間(精確到毫秒)。
Date(long date)
:將指定參數(shù)的毫秒值date,轉(zhuǎn)換成Date對象,分配Date對象并初始化此對象,以表示自從標(biāo)準(zhǔn)基準(zhǔn)時間(稱為“歷元(epoch)”,即1970年1月1日00:00:00 GMT)以來的指定毫秒數(shù)。
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
//日期在開發(fā)中常用來存儲生日、下單時間、付款時間、審批時間等
// 類 Date 表示特定的瞬間,精確到毫秒
Date date1 = new Date();
System.out.println(date1);
Date date2=new Date(1000);//創(chuàng)建一個距離1970年1月1日 08:00:00(東八區(qū)) 經(jīng)過了多少毫秒的一個時間
System.out.println(date2);
}
}
運(yùn)行結(jié)果如下:?
tips: 由于中國處于東八區(qū)(GMT+08:00)是比世界協(xié)調(diào)時間/格林尼治時間(GMT)快8小時的時區(qū),當(dāng)格林尼治標(biāo)準(zhǔn)時間為0:00時,東八區(qū)的標(biāo)準(zhǔn)時間為08:00
1.2 Date 常用方法tips:在使用println方法時,會自動調(diào)用Date類中的toString方法。Date類對Object類中的toString方法進(jìn)行了覆蓋重寫,所以結(jié)果為指定格式的字符串。
Date類中的多數(shù)方法已經(jīng)過時,常用的方法有:
getTime()
把日期對象轉(zhuǎn)換成對應(yīng)的時間毫秒值。
package com.hp.test2;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
//日期在開發(fā)中常用來存儲生日、下單時間、付款時間、審批時間等
// 類 Date 表示特定的瞬間,精確到毫秒
Date date1 = new Date();
long time = date1.getTime(); //計算當(dāng)前時間距離1970年1月1日 80:00:00 的 毫秒值-------時間戳
System.out.println(time);
}
運(yùn)行結(jié)果如下:?
面試題:
java.sql.Date和java.util.Date的區(qū)別
二、?SimpleDateFormat類 2.1 構(gòu)造方法
- java.sql.Date 是java.util.Date 的子類
- java.util.Date 是 JDK 中的日期類,精確到時分、秒、毫秒
- java.sgl.Date 與數(shù)據(jù)庫 Date 相對應(yīng)的一個類型,只有日期部分,時分秒都會設(shè)置為 0,如2019-10-2300:00:00
- 要從數(shù)據(jù)庫時間字段取 時、分、秒、毫秒數(shù)據(jù),可以使用java.sql.Timestamp
由于DateFormat為抽象類,不能直接使用,所以需要常用的子類java.text.SimpleDateFormat
。這個類需要一個模式(格式)來指定格式化或解析的標(biāo)準(zhǔn)。構(gòu)造方法為:
SimpleDateFormat(String pattern)
:用給定的模式和默認(rèn)語言環(huán)境的日期格式符號構(gòu)造SimpleDateFormat。參數(shù)pattern是一個字符串,代表日期時間的自定義格式。DateFormat類的常用方法有:
format(Date date)
:將Date對象格式化為字符串。
parse(String source)
:將字符串解析為Date對象。
package com.hp.test2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) throws ParseException {
//simpleDateFormat 用來實(shí)現(xiàn) 日期和 字符串 之間的相互轉(zhuǎn)換
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //創(chuàng)建日期格式化類的對象,指定格式符
Date date1 = new Date();//獲取當(dāng)前系統(tǒng)時間
System.out.println(date1);
//把 日期 轉(zhuǎn)換成指定格式的 字符串
String format = sdf.format(date1);
System.out.println(format);
//把 字符串 轉(zhuǎn)換成指定格式的 日期
String time = "2000-12-20 1:05:38";
Date date2 = sdf.parse(time);
System.out.println(date2);
}
}
運(yùn)行結(jié)果如下:
三、Calendar類 3.1 概述java.util.Calendar類表示一個“日歷類”,可以進(jìn)行日期運(yùn)算。它是一個抽象類,不能創(chuàng)建對象,我們可以使用它的子類:java.util.GregorianCalendar類。
有兩種方式可以獲取GregorianCalendar對象:
直接創(chuàng)建GregorianCalendar對象;
通過Calendar的靜態(tài)方法getInstance()方法獲取GregorianCalendar對象
方法名 | 說明 |
---|---|
public static Calendar getInstance() | 獲取一個它的子類GregorianCalendar對象。 |
public int get(int field) | 獲取某個字段的值。field參數(shù)表示獲取哪個字段的值, 可以使用Calender中定義的常量來表示: Calendar.YEAR : 年 Calendar.MONTH :月 Calendar.DAY_OF_MONTH:月中的日期 Calendar.HOUR:小時 Calendar.MINUTE:分鐘 Calendar.SECOND:秒 Calendar.DAY_OF_WEEK:星期 |
public void set(int field,int value) | 設(shè)置某個字段的值 |
public void add(int field,int amount) | 為某個字段增加/減少指定的值 |
package com.hp.test2;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class CalendarTest {
public static void main(String[] args) {
//Calendar 類是一個抽象類,可以通過Calendar 的 getInstance 方法返回一個 Calendar 對象
Calendar calendar= Calendar.getInstance();
Date date1=calendar.getTime();//獲取當(dāng)前系統(tǒng)的時間
System.out.println(date1);
long timeInMillis = calendar.getTimeInMillis();
System.out.println("當(dāng)前時間的毫秒值:"+timeInMillis);
TimeZone timeZone = calendar.getTimeZone();
System.out.println("時區(qū):" + timeZone);
//get方法可以根據(jù) 定的日歷字段 獲取時間對應(yīng)的值
int year=calendar.get(Calendar.YEAR);
System.out.println("年份:" + year);
int month=calendar.get(Calendar.MONTH);
System.out.println("月份:"+(month+1)); //0-11 表示1-12月
int date=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("日期:"+date);
int day0fYear=calendar.get(Calendar.DAY_OF_YEAR);
System.out.println("本年的第:" + day0fYear);
System.out.println("---------------------------");
//可以獲取 指定日期 月份0-11 表示1-12月
calendar.set(2000,9,12,16,32,45);
Date date2 = calendar.getTime();
}
}
運(yùn)行結(jié)果如下:
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧