Java日期工具類

2021-09-20 21:47:04 字數 4635 閱讀 3673

1、概述

類date表示特定的瞬間,精確到毫秒

2、構造方法

public date() //分配 date 物件並初始化此物件,以表示分配它的時間(精確到毫秒)。

public date(long date) //分配 date 物件並初始化此物件,以表示自從標準基準時間(稱為「曆元(epoch)」,即 1970 年 1 月 1 日 00:00:00 gmt)以來的指定毫秒數。

date date =

newdate()

; system.out.

println

(date.

tostring()

);//現在的日期

date date1 =

newdate

(1000*60

*60*24

);system.out.

println

(date1)

;//1970 年 1 月 1 日 00:00:00一天後的日期

3、成員方法

public long gettime(): 獲取乙個日期物件物件毫秒值

public void settime(long time): 給乙個日期物件設定上指定的毫秒值

date date =

newdate()

;long time = date.

gettime()

; system.out.

println

(time)

;//計算機元年到現在過的毫秒值

date date1 =

newdate()

; date1.

settime

(1000*24

*3600

);

1、概述

可以把乙個日期物件格式化成乙個字串,也可以把乙個日期字串解析成乙個日期物件。

2、構造方法

public ******dateformat():使用預設的模式來建立乙個******dateformat物件

public ******dateformat(string pattern):使用指定的模式(規則比如yyyy:mm:dd hh:mm:ss)來建立乙個******dateformat物件

規則定義

y:年,m:月,d:天,h:時,m:分,s:秒

3、成員方法

public string format(date date): 把乙個日期物件格式化成乙個字串

public date parse(string datestr): 把乙個日期字串解析成乙個日期物件,注意要以指定格式解析

date date =

newdate()

; ******dateformat sim =

new******dateformat()

; string format = sim.

format

(date)

; system.out.

println

(format)

; ******dateformat sim2 =

new******dateformat

("yyyy-mm-dd hh:mm:s");

string format1 = sim2.

format

(date)

; system.out.

println

(format1)

; 輸出:19-

5-5 下午5:02

2019-05

-0505:

02:29

寫乙個簡單的例子,靈活使用一下這個方法,測一下2023年的五月五日到現在過了多少天。

思路:輸入日期為2023年5月5日的字串,將之解析成乙個日期物件,獲取它對應的毫秒值,再獲取當前時間的毫秒值,差值換算成天數。

string str =

"2000-05-05"

; ******dateformat sim =

new******dateformat

("yyyy-mm-dd");

date date = sim.

parse

(str)

;long time = date.

gettime()

; date date1 =

newdate()

;//此時日期為2023年5月5日

long time1 = date1.

gettime()

; system.out.

println

((time1-time)

/1000

/3600/24

);

1、概述

calendar 類是乙個抽象類,不能直接new物件,可以通過他的乙個靜態成員方法getinstance()來獲取他的物件。它為特定瞬間與一組諸如 year、month、day_of_month、hour 等日曆字段之間的轉換提供了一些方法,並為操作日曆字段(例如獲得下星期的日期)提供了一些方法。

2、成員方法

public static calendar getinstance() 使用預設時區和語言環境獲得乙個日曆物件

public int get(int field) 獲得給定日曆字段對應的值 field通過calendar提供的字

calendar instance = calendar.

getinstance()

;int year = instance.

get(calendar.year)

;int month = instance.

get(calendar.month)

;int day = instance.

get(calendar.day_of_month)

;int hour = instance.

get(calendar.hour_of_day)

;int minute = instance.

get(calendar.minute)

;int second = instance.

get(calendar.second)

; system.out.

println

(year+

"-"+month+

"-"+day+

" "+hour+

":"+minute+

":"+second)

; 輸出:

2019-4

-517:

19:37//月份是0-11,也就是說4代表5月

public void add(int field,int amount) 根據日曆的規則,為給定的日曆字段新增或減去指定的時間量

calendar instance = calendar.

getinstance()

; instance.

add(calendar.year,1)

; instance.

add(calendar.month,5)

; instance.

add(calendar.day_of_month,-4

);int year = instance.

get(calendar.year)

;int month = instance.

get(calendar.month)

;int day = instance.

get(calendar.day_of_month)

; system.out.

println

(year+

"-"+month+

"-"+day)

;輸出:2020-9

-1

public final void set(int year,int month,int date) 設定日曆時間 年月日

public

static

void

main

(string[

] args)

throws parseexception

輸出:2016

-10

現在做乙個小測試,鍵盤錄入任意乙個年份,獲取任意一年的二月有多少天

思路:建立calendar物件,日期錄入為三月一號,注意2表示三月,先前推算一天,輸入月中的天數。

public

static

void

main

(string[

] args)

throws parseexception

Java 日期工具類

一些公共的方法,可能會使用到,記錄下 獲得時間範圍的天數差 author wjc param startdatestr 開始日期字串yyyy mm dd param enddatestr 結束日期字串yyyy mm dd return 天數差 0 當天 1 連續日期 public static in...

Java日期工具類一

public class datetimeutil 字串轉換成timestamp param datetime 要轉換的時間字串 return 轉換失敗返回 null throws parseexception public static timestamp stringtotimestamp st...

Java工具類 日期轉換

經常會用到在date型別和string型別之間進行轉換。例如運算元據庫,和封裝的bean類之間交換資料等等。基本思想是通過 dateformat類來進行轉換。date轉string param date 待轉化日期的date型別 param pattern 目標日期格式 return 轉化後的日期的...