java.util包中的date類表示特定的時(shí)間,精確到毫秒。如果要想使用我們的date類,那么我們必須得引入我們的date類。
Date類直接寫入年份是得不到正確的結(jié)果的。 因?yàn)閖ava中Date是從1900年開始算的,所以前面的第一個(gè)參數(shù)只要填入從1900年后過了多少年就是你想要得到的年份。 月需要減1,日可以直接插入。 這種方法用的比較少,常用的是第二種方法。
這種方法是將一個(gè)符合特定格式,比如yyyy-MM-dd,的字符串轉(zhuǎn)化成為Date類型的數(shù)據(jù)。 首先,定義一個(gè)Date類型的對象 Date date = null; 再定義一個(gè)String類型的符合格式的字符串 String dateStr = "2010-9-10"; 把這個(gè)字符串進(jìn)行拆分? dateDivide = dateStr.split("-"); 把年月日分別取出,賦給Calendar,用 Calendar的getTime();取得日期再賦給date。
1、Date類的聲明
2、Date類的常用方法
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
3、SimpleDateFormat格式化日期
?如果要想取得日期時(shí)間,我們可以實(shí)例化Date類
(1)獲得當(dāng)前日期時(shí)間
?Date d=new Date();
(2)獲得指定日期時(shí)間
?Date d=new Date(long date);
注意:要想得到當(dāng)前時(shí)間的long date 我們可以用getTime();方法
代碼演示:
package Test2; import java.util.Date; public class Tested { private final static String name = "磊哥的java歷險(xiǎn)記-@51博客"; public static void main(String args[]){ //產(chǎn)生日期對象 Date d=new Date(); System.out.println(d); //獲取時(shí)間為長整型,時(shí)間戳 long l=d.getTime(); System.out.println(l); Date d1=new Date(l); System.out.println(d1); System.out.println("============="+name+"============="); } }
(1)getYear()//年份,Date對象中年份減去1900以后的值,所以需要顯示對應(yīng)的年份則需要在返回值的基礎(chǔ)上加上1900
(2)getMonth()//月份,Date類規(guī)定一月是0,二月是1,三月是2,后續(xù)的依次類推。
(3)getDate()//日期
(4)getHours()//小時(shí)
(5)getMinutes()//分鐘
(6)getSeconds()//秒
(7)getDay()//星期,Date類規(guī)定周日是0,周一是1,周二是2,后續(xù)的依次類推。
代碼演示:
package Test2; //導(dǎo)入時(shí)間包 import java.util.Date; public class Tested { private final static String name = "磊哥的java歷險(xiǎn)記-@51博客"; public static void main(String args[]){ //創(chuàng)建時(shí)間對象 Date d2 = new Date(); //年份,Java中的Date表示的是自1900年以來所經(jīng)過的時(shí)間 int year = d2.getYear() + 1900; //月份,最后一個(gè)月取決于一年中的月份數(shù)。 因?yàn)檫@個(gè)值的初始值是0,因此我們要用它來表示正確的月份時(shí)就需要加1。 int month = d2.getMonth() + 1; //日期 int date = d2.getDate(); //小時(shí) 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("小時(shí):" + hour); System.out.println("分鐘:" + minute); System.out.println("秒:" + second); System.out.println("星期:" + day); System.out.println("============="+name+"============="); } }
SimpleDateFormat 是一個(gè)以語言環(huán)境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時(shí)間格式來運(yùn)行。
(1)SimpleDateFormate初始化:
SimpleDateFormate sdf=new SimpleDateFormate(日期格式);
?注意:日期格式
(2)SimpleDateFormat常用方法:
?format(Date d):將日期格式轉(zhuǎn)化為字符串?dāng)?shù)據(jù)
?parse(String s):將字符串格式轉(zhuǎn)化為日期數(shù)據(jù)
代碼演示:
package Test2; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; class Person extends Object{ public static void main(String args[]){ Date d=new Date(); //傳入指定時(shí)間格式 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //日期格式化輸出 System.out.println(sdf.format(d)); } }
定義一個(gè)工具類:
package Test2; //導(dǎo)入時(shí)間包import java.text.SimpleDateFormat; import java.util.Date; public class MyDate { private final static String name = "磊哥的java歷險(xiǎn)記-@51博客"; // 定義的MyDateDemo類 private SimpleDateFormat sd = null; // 聲明SimpleDateFormat對象sd public String getDate01() { // 定義getDate01方法 this.sd = new SimpleDateFormat("yyyy-MM-dd HH:mm;ss.sss"); // 得到一個(gè)"yyyy-MM-dd // HH:mm;ss.sss"格式日期 return this.sd.format(new Date()); // 將當(dāng)前日期進(jìn)行格式化操作 } public String getDate02() { // 定義getDate02方法 this.sd = new SimpleDateFormat("yyyy年MM月dd日 HH時(shí)mm分ss秒sss毫秒"); // 得到一個(gè)"yyyy年MM月dd日 //HH時(shí)mm分ss秒sss毫秒"格式日期 return this.sd.format(new Date()); // 將當(dāng)前日期進(jìn)行格式化操作 } public String getDate03() {// 定義getDate03方法 this.sd = new SimpleDateFormat("yyyyMMddHHmmsssss"); // 得到一個(gè)"yyyyMMddHHmmsssss"格式日期(也就是時(shí)間戳) return this.sd.format(new Date());// 將當(dāng)前日期進(jìn)行格式化操作 } }
主方法調(diào)用:
package com.Test; import Test2.MyDate; import java.util.Date; public class Main { private final static String name = "磊哥的java歷險(xiǎn)記-@51博客"; public static void main(String[] args) { // 主方法 MyDate dd = new MyDate(); // 聲明dd對象,并實(shí)例化 System.out.println("默認(rèn)日期格式: " + new Date()); // 分別調(diào)用方法輸入不同格式的日期 System.out.println("英文日期格式: " + dd.getDate01()); System.out.println("中文日期格式: " + dd.getDate02()); System.out.println("時(shí)間戳: " + dd.getDate03()); System.out.println("============="+name+"============="); } }
(1)獲取到當(dāng)前日期,并且打印出yyyy-MM-dd hh:mm:ss的形式
(2)獲取當(dāng)前日期的年份和月份并進(jìn)行輸出
(1)使用date對象獲取當(dāng)前日期
(2)使用simpleDateFormat進(jìn)行格式化日期
(3)使用date的常用方法來進(jìn)行獲取年份和月份
package com.Test; import Test2.MyDate; import java.text.SimpleDateFormat; import java.util.Date; public class Main { private final static String name = "磊哥的java歷險(xiǎn)記-@51博客"; public static void main(String[] args) { // 主方法 //獲取當(dāng)前日期 Date d2=new Date(); //轉(zhuǎn)換為yyyy-MM-dd hh:mm:ss SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //日期格式化 System.out.println("日期格式化:"+sdf.format(d2)); int year = d2.getYear() + 1900;//年份 int month = d2.getMonth() + 1;//月份 System.out.println("年份:" + year); System.out.println("月份:" + month); System.out.println("============="+name+"============="); } }
以上就是Java中使用Date和SimpleDateFormat類來處理時(shí)間的方法及用法介紹的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
java怎么學(xué)習(xí)?java怎么入門?java在哪學(xué)?java怎么學(xué)才快?不用擔(dān)心,這里為大家提供了java速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號