這篇文章將為大家詳細(xì)講解有關(guān)java日期相關(guān)類(lèi)的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、南州晴隆ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的南州晴隆網(wǎng)站制作公司
一、Date類(lèi)
類(lèi) Date 表示特定的瞬間,精確到毫秒。用距離1970年1月1日00:00:00的毫秒數(shù)(long)類(lèi)型來(lái)表示一個(gè)特定的時(shí)間點(diǎn),該值可正可負(fù)。
Date類(lèi)中很多方法已經(jīng)過(guò)時(shí),使用Calendar來(lái)替代。
常用方法有
long getTime()
void setTime(long time)
public class T01Date { public static void main(String[] args) { //getTime():返回的時(shí)間是距離1970年的毫秒數(shù).值不受setTime()的影響 //date值受setTime()的影響 Date date=new Date(); long current=date.getTime(); System.out.println(current);//1472002479966 System.out.println(date);//Wed Aug 24 09:34:39 CST 2016 long time=current+1000*60*60*24;//時(shí)間設(shè)置為明日此時(shí) date.setTime(time); System.out.println(date.getTime());//1472002479966 System.out.println(current);//1472002479966 System.out.println(date);// Thu Aug 25 09:34:39 CST 2016 } }
二、SimpleDateFormat
SimpleDateFormat根據(jù)特定的日期格式在Date和字符串之間轉(zhuǎn)換
常用方法
String format(Date date):將日期按照指定格式轉(zhuǎn)換成字符串
Date parse(String str):將字符串按照指定格式轉(zhuǎn)換成Date
可以用來(lái)指定格式的字符
/** * java.text.SimpleDateFormat * 該類(lèi)可以根據(jù)一個(gè)指定的日期格式將Date于String * 之間相互轉(zhuǎn)換 * @author zc * */ public class T02SimpleDateFormat { public static void main(String[] args) throws ParseException { Date now =new Date(); //2016-08-12 09:55:23 //yyyy-MM-dd hh:ss:mm SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh時(shí)ss分mm秒"); String str = sdf.format(now); System.out.println(str); //a 居然能區(qū)分上下午漢字 String strDate="2012年12月20日下午12點(diǎn)20分30秒"; SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日ahh點(diǎn)ss分mm秒"); Date date=sdf2.parse(strDate); System.out.println(date); } }
三、Calendar
java.util.Calendar是抽象類(lèi),主要用來(lái)對(duì)時(shí)間分量進(jìn)行計(jì)算。
常用方法
(1)Date和Calendar之間的轉(zhuǎn)換
//默認(rèn)創(chuàng)建出來(lái)的Calendar的實(shí)現(xiàn)類(lèi)表示當(dāng)前系統(tǒng)時(shí)間 Calendar c=Calendar.getInstance(); //將Calendar轉(zhuǎn)換為Date Date date=c.getTime(); //Date->Calendar /* * void setTime(Date date) * 該方法可以使當(dāng)前Calendar表示給定的 * Date所表示的時(shí)間 * */ c.setTime(date); } }
(2)getInstance()方法
Calendar是抽象類(lèi),其提供了一個(gè)工廠方法:Calendar getInstance()用來(lái)獲取Calendar類(lèi)型的實(shí)例
(3)get(int field)方法獲取時(shí)間分量
import java.util.Calendar; /** * Calendar提供了獲取各個(gè)時(shí)間分量的值的方法 * @author zc */ public class T05Calendar2 { public static void main(String[] args) { Calendar c=Calendar.getInstance(); //獲取年 int year=c.get(Calendar.YEAR); System.out.println("year:"+year);//2016 //獲取月:月從0開(kāi)始!!!,0表示一月 int month=c.get(Calendar.MONTH); System.out.println("month:"+month);//7 /* * 和天相關(guān)的時(shí)間分量 * DATE,DAY_OF_MONTH:是一致的,表示月中的第幾天 * DAY_OF_YEAR:表示年中的天 * DAY_OF_WEEK:表示周中的天 * * */ System.out.println(c.get(Calendar.DATE)); System.out.println(c.get(Calendar.DAY_OF_MONTH)); System.out.println(c.get(Calendar.DAY_OF_YEAR)); System.out.println(c.get(Calendar.DAY_OF_WEEK)); int dow=c.get(Calendar.DAY_OF_WEEK)-1; String[] data={"日","一","二","三","四","五","六"}; System.out.println("周"+data[dow]); //獲取小時(shí),分鐘,秒 HOUR_OF_DAY:24小時(shí) HOUR:12小時(shí) System.out.println(c.get(Calendar.HOUR_OF_DAY));//14 System.out.println(c.get(Calendar.HOUR));//2 System.out.println(c.get(Calendar.MINUTE)); System.out.println(c.get(Calendar.SECOND)); } }
(4)set()方法設(shè)置時(shí)間分量
/** * 設(shè)置時(shí)間分量 * @author zc * */ public class T06Calendar3 { public static void main(String[] args){ //表示2008-08-08 20:08:08 //設(shè)置年 Calendar c=Calendar.getInstance(); c.set(Calendar.YEAR,2008); //設(shè)置月,月從0開(kāi)始 c.set(Calendar.MONTH,Calendar.AUGUST); //設(shè)置日 c.set(Calendar.DATE, 8); //設(shè)置時(shí) c.set(Calendar.HOUR_OF_DAY,20); //設(shè)置分 c.set(Calendar.SECOND,8); //設(shè)置秒 c.set(Calendar.MINUTE,8); System.out.println(c.getTime()); //!!!設(shè)置的時(shí)間分量超出后,會(huì)自行進(jìn)位 } }
(5)add()方法在當(dāng)前時(shí)間分量基礎(chǔ)上修改時(shí)間分量
(6)getActualMaximum()獲取某個(gè)時(shí)間分量所允許的最大值
/** * 獲取某個(gè)時(shí)間分量所允許的最大值 * @author zc */ public class T07Calendar4 { public static void main(String[] args) { Calendar c=Calendar.getInstance(); //查看當(dāng)月共多少天 int days=c.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(days); //查看今年多少天 int doy=c.getActualMaximum(Calendar.DAY_OF_YEAR); System.out.println(doy); int t=c.getActualMaximum(Calendar.MINUTE); System.out.println(t); } }
四、Date、SimpleDateFormat和Calendar的一個(gè)綜合實(shí)例
@Test public void test01() throws ParseException{ //要求用戶輸入一個(gè)日期,計(jì)算后,指定格式輸出日期 /*String--SimpleDateFormat()-->Date Date-->Calendar 使用Calendar進(jìn)行相應(yīng)計(jì)算 Calendar-->Date Date--SimpleDateFormat-->String */ String input="2013-03-26"; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date date=sdf.parse(input); Calendar c=Calendar.getInstance(); //set(),與add() c.setTime(date); c.add(Calendar.YEAR,1); c.set(Calendar.MONTH,0); c.set(Calendar.DAY_OF_WEEK,1); date=c.getTime(); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd分hh時(shí)ss分mm秒"); String strTime=sdf2.format(date); System.out.println(strTime); }
關(guān)于“java日期相關(guān)類(lèi)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站欄目:java日期相關(guān)類(lèi)的示例分析
網(wǎng)頁(yè)URL:http://chinadenli.net/article32/gepjpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站排名、、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)