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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

java date linux,Java中Date,SimpleDateFormat

發(fā)布時間:2023/12/15 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java date linux,Java中Date,SimpleDateFormat 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、Java中的日期概述:

日期在Java中是一塊非常復(fù)雜的內(nèi)容,對于一個日期在不同的語言國別環(huán)境中,日期的國際化,日期和時間之間的轉(zhuǎn)換,日期的加減運算,日期的展示格式都是非常復(fù)雜的問題。

在Java中,操作日期主要涉及到一下幾個類:

1、java.util.Date

類 Date 表示特定的瞬間,精確到毫秒。從 JDK 1.1 開始,應(yīng)該使用 Calendar 類實現(xiàn)日期和時間字段之間轉(zhuǎn)換,使用 DateFormat 類來格式化和分析日期字符串。Date 中的把日期解釋為年、月、日、小時、分鐘和秒值的方法已廢棄。

2、java.text.DateFormat(抽象類)

DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關(guān)的方式格式化并分析日期或時間。日期/時間格式化子類(如 SimpleDateFormat)允許進行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和標(biāo)準(zhǔn)化。將日期表示為 Date 對象,或者表示為從 GMT(格林尼治標(biāo)準(zhǔn)時間)1970 年,1 月 1 日 00:00:00 這一刻開始的毫秒數(shù)。

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

SimpleDateFormat 是一個以與語言環(huán)境相關(guān)的方式來格式化和分析日期的具體類。它允許進行格式化(日期 -> 文本)、分析(文本 -> 日期)和規(guī)范化。

SimpleDateFormat 使得可以選擇任何用戶定義的日期-時間格式的模式。但是,仍然建議通過 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 來新的創(chuàng)建日期-時間格式化程序。

4、java.util.Calendar(抽象類)

Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標(biāo)準(zhǔn)時間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

與其他語言環(huán)境敏感類一樣,Calendar 提供了一個類方法 getInstance,以獲得此類型的一個通用的對象。Calendar 的 getInstance 方法返回一個 Calendar 對象,其日歷字段已由當(dāng)前日期和時間初始化。

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

GregorianCalendar 是 Calendar 的一個具體子類,提供了世界上大多數(shù)國家使用的標(biāo)準(zhǔn)日歷系統(tǒng)。

GregorianCalendar 是一種混合日歷,在單一間斷性的支持下同時支持儒略歷和格里高利歷系統(tǒng),在默認(rèn)情況下,它對應(yīng)格里高利日歷創(chuàng)立時的格里高利歷日期(某些國家是在 1582 年 10 月 15 日創(chuàng)立,在其他國家要晚一些)。可由調(diào)用方通過調(diào)用 setGregorianChange() 來更改起始日期。

二、java.util.Date的使用:

類 java.util.Date 表示特定的瞬間,精確到毫秒。

1、java.util.Date的API簡介

Date()

分配 Date 對象并用當(dāng)前時間初始化此對象,以表示分配它的時間(精確到毫秒)。

Date(long date)

分配 Date 對象并初始化此對象,以表示自從標(biāo)準(zhǔn)基準(zhǔn)時間(稱為“歷元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數(shù)。

方法摘要

-------------

boolean after(Date when)

測試此日期是否在指定日期之后。

boolean before(Date when)

測試此日期是否在指定日期之前。

Object clone()

返回此對象的副本。

int compareTo(Date anotherDate)

比較兩個日期的順序。

boolean equals(Object obj)

比較兩個日期的相等性。

long getTime()

返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數(shù)。

int hashCode()

返回此對象的哈希碼值。

void setTime(long time)

設(shè)置此 Date 對象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的時間點。

String toString()

把此 Date 對象轉(zhuǎn)換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中:

dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。

dd 是一月中的某一天(01 至 31),顯示為兩位十進制數(shù)。

hh 是一天中的小時(00 至 23),顯示為兩位十進制數(shù)。

mm 是小時中的分鐘(00 至 59),顯示為兩位十進制數(shù)。

ss 是分鐘中的秒數(shù)(00 至 61),顯示為兩位十進制數(shù)。

zzz 是時區(qū)(并可以反映夏令時)。標(biāo)準(zhǔn)時區(qū)縮寫包括方法 parse 識別的時區(qū)縮寫。如果不提供時區(qū)信息,則 zzz 為空,即根本不包括任何字符。

yyyy 是年份,顯示為 4 位十進制數(shù)。

package dates;

import java.util.Date;

public class TestDate {

public static void main(String args[]) {

TestDate nowDate = new TestDate();

nowDate.getSystemCurrentTime();

nowDate.getCurrentDate();

}

public void getSystemCurrentTime() {

System.out.println("----獲取系統(tǒng)當(dāng)前時間----");

System.out.println("系統(tǒng)當(dāng)前時間 = " + System.currentTimeMillis());

}

public void getCurrentDate() {

System.out.println("----獲取系統(tǒng)當(dāng)前日期----");

//創(chuàng)建并初始化一個日期(初始值為當(dāng)前日期)

Date date = new Date();

System.out.println("現(xiàn)在的日期是 = " + date.toString());

System.out.println("自1970年1月1日0時0分0秒開始至今所經(jīng)歷的毫秒數(shù) = " + date.getTime());

}

}

2、java.text.SimpleDateFormat的使用:

SimpleDateFormat 是一個以與語言環(huán)境相關(guān)的方式來格式化和分析日期的具體類。它允許進行格式化(日期 -> 文本)、分析(文本 -> 日期)和規(guī)范化。

定義了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

package dates;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Locale;

public class TestSimpleDateFormat {

public static void main(String args[]) throws ParseException {

TestSimpleDateFormat test = new TestSimpleDateFormat();

test.testDateFormat();

}

public void testDateFormat() throws ParseException {

//創(chuàng)建日期

Date date = new Date();

//創(chuàng)建不同的日期格式

DateFormat df1 = DateFormat.getInstance();

DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE");

DateFormat df3 = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);? ? //產(chǎn)生一個指定國家指定長度的日期格式,長度不同,顯示的日期完整性也不同

DateFormat df4 = new SimpleDateFormat("yyyy年MM月dd日 hh時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日");

//將日期按照不同格式進行輸出

System.out.println("-------將日期按照不同格式進行輸出------");

System.out.println("按照J(rèn)ava默認(rèn)的日期格式,默認(rèn)的區(qū)域? ? ? ? ? ? ? ? ? ? ? : " + df1.format(date));

System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE ,系統(tǒng)默認(rèn)區(qū)域? ? ? :" + df2.format(date));

System.out.println("按照日期的FULL模式,區(qū)域設(shè)置為中文? ? ? ? ? ? ? ? ? ? ? : " + df3.format(date));

System.out.println("按照指定格式 yyyy年MM月dd日 hh時mm分ss秒 EE ,區(qū)域為中文 : " + df4.format(date));

System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE ,區(qū)域為美國? ? ? ? : " + df5.format(date));

System.out.println("按照指定格式 yyyy-MM-dd ,系統(tǒng)默認(rèn)區(qū)域? ? ? ? ? ? ? ? ? : " + df6.format(date));

//將符合該格式的字符串轉(zhuǎn)換為日期,若格式不相配,則會出錯

Date date1 = df1.parse("07-11-30 下午2:32");

Date date2 = df2.parse("2007-11-30 02:51:07 星期五");

Date date3 = df3.parse("2007年11月30日 星期五");

Date date4 = df4.parse("2007年11月30日 02時51分18秒 星期五");

Date date5 = df5.parse("2007-11-30 02:51:18 Friday");

Date date6 = df6.parse("2007-11-30");

System.out.println("-------輸出將字符串轉(zhuǎn)換為日期的結(jié)果------");

System.out.println(date1);

System.out.println(date2);

System.out.println(date3);

System.out.println(date4);

System.out.println(date5);

System.out.println(date6);

}

}

總結(jié)

以上是生活随笔為你收集整理的java date linux,Java中Date,SimpleDateFormat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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