日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器

發(fā)布時(shí)間:2023/12/2 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Date類(lèi)

public classDateTest{public static voidmain(String[] args){

Date d1= newDate();//獲取當(dāng)前時(shí)間之后100ms的時(shí)間

Date d2 = new Date(System.currentTimeMillis() + 10000);

System.out.println(d1);

System.out.println(d2);//比較d1,d2是否相等,相等返回0,大于返回1,小于返回-1.

System.out.println(d1.compareTo(d2));//判斷d1在d2之前/之后

System.out.println(d1.before(d2));

System.out.println(d1.after(d2));

}

}

Calendar類(lèi)

//創(chuàng)建一個(gè)默認(rèn)的Calendar對(duì)象

Calendar calenadar =Calendar.getInstance();//從Calendar對(duì)象中取出Date對(duì)象

Date date =calendar.getTime();//通過(guò)Date對(duì)象獲得對(duì)應(yīng)的Calendar對(duì)象

Calendar calendar2 =Calendar.getInstance();

calendar2.setTime(date);

Calendar訪問(wèn)、修改日期時(shí)間的方法:

importjava.util.Calendar;//靜態(tài)導(dǎo)入Calendar類(lèi)里所有類(lèi)變量,可以直接使用YEAR、MONTH等

import static java.util.Calendar.*;public classa{public static voidmain(String[] args){

Calendar c=Calendar.getInstance();//取出年、月、日

System.out.println(c.get(YEAR)+" "+c.get(MONTH)+" "+c.get(DATE));//設(shè)置年、月、日、小時(shí)、分鐘、秒

c.set(2003,10,23,12,32,23);//將Calendar的年往前推2年

c.add(YEAR,-2);//與add類(lèi)似,但不會(huì)向上一個(gè)字段進(jìn)位

c.roll(MONTH,3);

}

}

1.設(shè)置Calendar的容錯(cuò)性

Calendar cal =Calendar.getInstance();//YEAR+1,MONTH+1

cal.set(MONTH,13);//關(guān)閉容錯(cuò)性

cal.setLenient(false);//程序運(yùn)行異常

cal.set(MONTH,13);

2.set()方法延遲修改

盡管set(f,value)方法的日歷字段f是立即修改的,但Calendar的時(shí)間不會(huì)立即修改,知道下次調(diào)用get(),getTime(),getTimeMillis(),add()或roll()時(shí)才會(huì)修改日歷的時(shí)間。

Calendar cal =Calendar.getInstance();

cal.set(2003,7,31);//將月份設(shè)為9,但9月31日不存在。

cal.set(MONTH,8);//如果立即修改,cal會(huì)設(shè)為10月1日

System.out.println(cal.getTime());//再設(shè)置DATE字段,輸出2003-10-5

cal.set(DATE,5);

System.out.println(cal.getTime());//如果不立即修改,cal僅將MONTH修改為9月//System.out.println(cal.getTime());//再設(shè)置DATE字段,輸出2003-9-5

cal.set(DATE,5);

System.out.println(cal.getTime());

DateFormat格式化日期、時(shí)間

getDateInstance():返回一個(gè)日期格式器,只有日期,沒(méi)有時(shí)間

getTimeInstance():返回一個(gè)時(shí)間格式器,只有時(shí)間,沒(méi)有日期

getDateTimeInstance():返回一個(gè)時(shí)間格式器,既有時(shí)間,也有日期

日期樣式、時(shí)間樣式,DateFormat的四個(gè)靜態(tài)常量:FULL、LONG、MEDIUM、SHORT

importjava.text.DateFormat;//靜態(tài)導(dǎo)入DateFormat類(lèi)里所有類(lèi)變量,可以直接使用FULL、LONG、MEDIUM、SHORT等

import static java.text.DateFormat.*;importjava.util.Locale;importjava.util.Date;public classa{public static voidmain(String[] args){

Date dt= newDate();

Locale locale=Locale.CHINA;

DateFormat df1=DateFormat.getDateInstance(FULL,locale);

DateFormat df2=DateFormat.getTimeInstance(FULL,locale);

System.out.println(df1.format(dt));

System.out.println(df2.format(dt));

}

}

DateFormat的parse()方法可以把一個(gè)字符串解析成Date對(duì)象,但要求被解析的字符串必須符合日期字符串的要求。缺點(diǎn):不夠靈活,為了更好地格式化日期、解析日期字符串,Java提供了SimpleDateFormat類(lèi)

SimpleDateFormat格式化日期

importjava.text.SimpleDateFormat;importjava.util.Date;importjava.text.ParseException;public classa{public static voidmain(String[] args)throwsParseException{

Date d= newDate();

SimpleDateFormat sdf1= new SimpleDateFormat("Gyyyy年中第D天");//公元2018年中第160天

String dateStr =sdf1.format(d);

String str= "14###3月##21";

SimpleDateFormat sdf2= new SimpleDateFormat("yy###M月##dd");

System.out.println(sdf2.parse(str));

}

}

Java8新增的DateTimeFormatter格式器類(lèi)

DateTimeFormatter相當(dāng)于DateFormat和SimpleDateFormat的合體類(lèi),功能非常強(qiáng)大

1.使用DateTimeFormatter完成格式化

importjava.time.format.DateTimeFormatter;importjava.time.format.FormatStyle;importjava.time.LocalDateTime;public classa{public static voidmain(String[] args){

DateTimeFormatter[] formatters= newDateTimeFormatter[]{//直接使用常量創(chuàng)建DateTimeFormatter格式器

DateTimeFormatter.ISO_LOCAL_DATE,

DateTimeFormatter.ISO_LOCAL_TIME,

DateTimeFormatter.ISO_LOCAL_DATE_TIME,//使用本地化的不同風(fēng)格來(lái)創(chuàng)建DateTimeFormatter格式器

DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL,FormatStyle.MEDIUM),

DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG),//根據(jù)模式字符串來(lái)創(chuàng)建DateTimeFormatter格式器

DateTimeFormatter.ofPattern("Gyyyy%%MMM%dd HH:mm:ss")

};

LocalDateTime date=LocalDateTime.now();for(int i = 0 ; i < formatters.length ; i++){//下面兩行代碼作用相同//System.out.println(date.format(formatters[i]));

System.out.println(formatters[i].format(date));

}

}

}

2.使用DateTimeFormatter解析字符串

importjava.time.format.DateTimeFormatter;importjava.time.LocalDateTime;public classa{public static voidmain(String[] args){

String str1= "2011@@02@@04 01時(shí)02分03秒";

DateTimeFormatter formatter1= DateTimeFormatter.ofPattern("yyyy@@MM@@dd HH時(shí)mm分ss秒");

LocalDateTime dt1=LocalDateTime.parse(str1,formatter1);

System.out.println(dt1);

}

}

總結(jié)

以上是生活随笔為你收集整理的java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。