java 中操作日期

java操作日期主要有以下幾種方式肯腕。

java.util.Date

import java.util.Date;//引入包
Date today=new Date();//定義對(duì)象
//使用Date類代表指定的時(shí)間
Date d1 = new Date(2015,7,6);

日期類中共定義了六種構(gòu)造函數(shù):

(1)public Date()
Date today=new Date()膀篮;//today被設(shè)置成創(chuàng)建時(shí)刻相對(duì)應(yīng)的日期時(shí)間。
(2)public Date (long date)
long 型的參數(shù)date可以通過(guò)調(diào)用Date類中的static方法parse(String s)來(lái)獲得。
Date day=new Date(l);
//day中時(shí)間為1997年 1月6號(hào)星期一,13:3:00朦乏。
(3)public Date(String s)
按字符串s產(chǎn)生一日期對(duì)象。s的格式與方法parse中字符串參數(shù)的模式相同氧骤。
例 Date day=new Date("Mon 6 Jan 1997 13:3:00");
//day 中時(shí)間為1997年1月6號(hào)星期一呻疹,13:3:00.
(4)public Date(int year,int month,int date)
(5)public Date(int year,int month,int date,int hrs,int min)
(6)public Date(int year,int month,int date,int hrs,int min,int sec)

java.text.DateFormat

DateFormat.getDateInstance 可獲得該國(guó)家的標(biāo)準(zhǔn)日期格式。
DateFormat.getTimeInstance 可獲得該國(guó)家的時(shí)間格式筹陵。
DateFormat.getDateTimeInstance 可獲得日期和時(shí)間格式刽锤。

  import java.text.DateFormat;

  Date today = new Date();
  Object myString = DateFormat.getDateInstance().format(today);

要格式化不同語(yǔ)言環(huán)境的日期,可在 getDateInstance() 的調(diào)用中指定它朦佩。

import java.util.Date;
import java.text.DateFormat;
import java.util.Locale;//不同的國(guó)家和地區(qū)

Object myString = DateFormat.getDateInstance().format(today);
Object myString = DateFormat.getDateInstance(DateFormat.LONG).format(today);/
Object myString1 = DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA).format(today);

//DateFormat包括 FULL并思、LONG、MEDIUM 和 SHORT语稠。

如果格式化多個(gè)日期宋彼,那么獲得該格式并多次使用它是更為高效的做法,這樣系統(tǒng)就不必多次獲取有關(guān)環(huán)境語(yǔ)言和國(guó)家約定的信息了仙畦。

DateFormat df = DateFormat.getDateInstance(); 
for (int i = 0; i < myDate.length; ++i) { 
       output.println(df.format(myDate[i]) + "; "); } 

java.text.SimpleDateFormat(DateFormat的直接子類)

1输涕、SimpleDateFormat 使得可以選擇任何用戶定義的日期-時(shí)間格式的模式。
但是慨畸,仍然建議通過(guò) DateFormat 中的 getTimeInstance莱坎、getDateInstance 或 getDateTimeInstance 來(lái)新的創(chuàng)建日期-時(shí)間格式化程序。每一個(gè)這樣的類方法都能夠返回一個(gè)以默認(rèn)格式模式初始化的日期/時(shí)間格式化程序寸士。

    DateFormat df4 = new SimpleDateFormat("yyyy年MM月dd日 hh時(shí)mm分ss秒 EE", Locale.CHINA);
    DateFormat df5 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EEEEEE", Locale.US);
    DateFormat df6 = new SimpleDateFormat("yyyy-MM-dd");
    DateFormat df7 = new SimpleDateFormat("yyyy年MM月dd日");
    
    //將日期轉(zhuǎn)換成字符串
    String date4 = df4.format(new Date());
    String date5 = df5.format(new Date());
    String date6 = df6.format(new Date());
    String date7 = df7.format(new Date());


    System.out.println(date4);
    System.out.println(date5);
    System.out.println(date6);
    System.out.println(date7);

輸出結(jié)果

2017年09月26日 03時(shí)00分12秒 星期二
2017-09-26 03:00:12 Tuesday
2017-09-26
2017年09月26日

2檐什、還可以統(tǒng)一定義樣式

String pattern = "yyyy-MM-dd";  //定義樣式,可以復(fù)用
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);  

String date = simpleDateFormat.format(new Date());  
System.out.println(date);

3弱卡、SimpleDateFormat除了格式化厢汹,還具有解析一個(gè)String變?yōu)镈ate的功能

String pattern = "yyyy-MM-dd";  
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);  

Date date = simpleDateFormat.parse("2013-12-04"); 

java.util.Calendar

Calendar的實(shí)例是系統(tǒng)時(shí)間的抽象表示,從Calendar的實(shí)例可以知道年月日星期月份時(shí)區(qū)等信息谐宙。

Calendar類中有一個(gè)靜態(tài)方法 get(int x),通過(guò)這個(gè)方法可以獲取到相關(guān)實(shí)例的一些值(年月日星期月份等)信息烫葬。參數(shù)x是一個(gè)產(chǎn)量值,在Calendar中有定義凡蜻。
1)Calendar的星期是從周日開始的搭综,常量值為0。
2)Calendar的月份是從一月開始的划栓,常量值為0兑巾。
3)Calendar的每個(gè)月的第一天值為1。

java.util.GregorianCalendar(Calendar的直接子類)

GregorianCalendar 是 Calendar 的一個(gè)具體子類忠荞,提供了世界上大多數(shù)國(guó)家使用的標(biāo)準(zhǔn)日歷系統(tǒng)蒋歌。結(jié)合Calendar抽象類使用帅掘。

舉例:

//創(chuàng)建Calendar的方式 
Calendar now = new GregorianCalendar(2007, 10, 30, 15, 55, 44); 
//定義日期的中文輸出格式,并輸出日期 
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh時(shí)mm分ss秒 E", Locale.CHINA); 
System.out.println("獲取日期中文格式化化輸出:" + df.format(now.getTime())); 
System.out.println("獲取年:" + now.get(Calendar.YEAR)); 
System.out.println("獲取月(月份是從0開始的):" + now.get(Calendar.MONTH)); 
System.out.println("獲取日:" + now.get(Calendar.DAY_OF_MONTH)); 
System.out.println("獲取時(shí):" + now.get(Calendar.HOUR)); 
System.out.println("獲取分:" + now.get(Calendar.MINUTE)); 
System.out.println("獲取秒:" + now.get(Calendar.SECOND)); 
System.out.println("獲取上午、下午:" + now.get(Calendar.AM_PM)); 
System.out.println("獲取星期數(shù)值(星期是從周日開始的):" + now.get(Calendar.DAY_OF_WEEK)); 
String dayOfWeek[] = {"", "日", "一", "二", "三", "四", "五", "六"}; 
System.out.println("now對(duì)象的星期是:" + dayOfWeek[now.get(Calendar.DAY_OF_WEEK)]); 
String months[] = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}; 
System.out.println("now對(duì)象的月份是: " + months[now.get(Calendar.MONTH)]); 

上述內(nèi)容摘自以下博客:
http://blog.csdn.net/pnet2008/article/details/17122469
http://www.cnblogs.com/talk/archive/2012/09/11/2680591.html
感謝作者的分享堂油,受益匪淺修档。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市府框,隨后出現(xiàn)的幾起案子吱窝,更是在濱河造成了極大的恐慌,老刑警劉巖迫靖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件院峡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡系宜,警方通過(guò)查閱死者的電腦和手機(jī)照激,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盹牧,“玉大人俩垃,你說(shuō)我怎么就攤上這事』恫撸” “怎么了吆寨?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)踩寇。 經(jīng)常有香客問(wèn)我啄清,道長(zhǎng),這世上最難降的妖魔是什么俺孙? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任辣卒,我火速辦了婚禮,結(jié)果婚禮上睛榄,老公的妹妹穿的比我還像新娘荣茫。我一直安慰自己,他們只是感情好场靴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布啡莉。 她就那樣靜靜地躺著,像睡著了一般旨剥。 火紅的嫁衣襯著肌膚如雪咧欣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天轨帜,我揣著相機(jī)與錄音魄咕,去河邊找鬼。 笑死蚌父,一個(gè)胖子當(dāng)著我的面吹牛哮兰,可吹牛的內(nèi)容都是我干的毛萌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼喝滞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼阁将!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起囤躁,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冀痕,失蹤者是張志新(化名)和其女友劉穎荔睹,沒(méi)想到半個(gè)月后狸演,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僻他,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年宵距,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吨拗。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡满哪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劝篷,到底是詐尸還是另有隱情哨鸭,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布娇妓,位于F島的核電站像鸡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏哈恰。R本人自食惡果不足惜只估,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望着绷。 院中可真熱鬧蛔钙,春花似錦、人聲如沸荠医。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彬向。三九已至兼贡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幢泼,已是汗流浹背紧显。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缕棵,地道東北人孵班。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓涉兽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親篙程。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枷畏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容