localdatetime time = localdatetime.
now();
system.out.
println
(time)
; localdatetime of = localdatetime.of(
2015,10
,22,10
,10,10
);system.out.
println
(of)
;
localdatetime plustime = time.
plusyears(2
);system.out.
println
(plustime)
; localdatetime minustime = time.
minusyears(2
);system.out.
println
(minustime)
;
system.out.
println
(time.
getyear()
);system.out.
println
(time.
getmonthvalue()
);system.out.
println
(time.
getdayofmonth()
);system.out.
println
(time.
gethour()
);system.out.
println
(time.
getminute()
);system.out.
println
(time.
getsecond()
);
時間戳(從unix元年開始算: 2023年1月1日到某個時間之間的毫秒差)
預設獲取utc時區的時間和我們的時間差8個小時,但是這裡獲取的時間還不是時間戳
instant instant = instant.
now();
system.out.
println
(instant)
;
時區糾正
offsetdatetime offsetdatetime = instant.
atoffset
(zoneoffset.
ofhours(8
)); system.out.
println
(offsetdatetime)
;
轉為毫秒
//轉為毫秒
long milli = instant.
toepochmilli()
; system.out.
println
(milli)
;//1572783543272
當前時間轉為毫秒
long newsecond1 = localdatetime.
now().
toinstant
(zoneoffset.of(
"+8"))
.toepochmilli()
;
相對於元年做乙個時間運算 意義不明
//相較於元年做乙個運算
instant instant1 = instant.
ofepochsecond(60
);system.out.
println
(instant1)
;
@test
public
void
test3()
throws interruptedexception
//計算兩個日期之間的間隔
@test
public
void
test4()
比較簡單的型別
@test
public
void
test5()
自定義的
下乙個工作日
public
static localdate nextworkday
(localdate date)
else
if(dayofweek.
equals
(dayofweek.saturday)
)else})
;}
public
static localdate nextmarryday
(localdate date,
int marrymon,
int marryday)
else
if(t1.
getmonthvalue()
== marrymon)
else
}else})
;}
都是可以用的
@test
public
void
test6()
使用自帶的格式化
datetimeformatter dtf = datetimeformatter.iso_date;
localdatetime ldt = localdatetime.
now();
string strdate = ldt.
format
(dtf)
;//2019-11-03
自定義格式化
datetimeformatter dtf2 =
datetimeformatter.
ofpattern
("yyyy年mm月dd日 hh:mm:ss");
string strdate2 = dtf2.
format
(ldt)
; system.out.
println
(strdate2)
;
將字串轉換回來 (報錯)
datetimeformatter dtf2 =
datetimeformatter.
ofpattern
("yyyy年mm月dd日 hh:mm:ss");
localdatetime newdate = ldt.
parse
("2023年11月03日 23:57:21"
, dtf2)
; system.out.
println
(newdate)
;
獲取所有時區
@test
public
void
test8()
獲取當前日本東京的時間
@test
public
void
test9()
JDK8介面新特性
jdk8中,介面中可以定義靜態的非抽象的方法,直接使用介面名呼叫靜態方法,但是它的實現類的類名或者例項卻不可以呼叫介面中的靜態方法。也可以定義普通的非抽象的方法,普通的非抽象方法要在返回值前加上default,對於普通的非抽象方法必須使用子類的例項來呼叫。如果有多個介面定義了相同的預設方法,實現多個...
JDK8的新特性
這兩天開始看jdk8的新特性,先看了lembda表示式和stream,就乙個感覺,優雅。趕緊將這兩天的成果總結一下 lembda表示式是乙個簡潔 可傳遞的匿名函式,實現了把 塊賦值給乙個變數的功能 格式就是 parameters expression,需要注意的是 引數可以為空 引數為乙個值得時候,...
jdk8的新特性
lambda表示式 格式為 符號左邊為表示式需要的所有引數 符號右邊為表示式要執行的功能 將之前的匿名內部內作為引數傳遞直接可以使用lambda表示式完成 比如lists new arraylist new arraylist stirng public int compare string a,s...