1700452940
//100天后的日期
1700452941
1700452942
dt.plusDays(100).toLocalDate();
1700452943
1700452944
//10年前的今天是星期几
1700452945
1700452946
dt.minusYears(10).dayOfWeek().getAsText();
1700452947
1700452948
//离地球毁灭还有多少小时
1700452949
1700452950
Hours.hoursBetween(dt, new DateTime(“2012-12-21”)).getHours();
1700452951
1700452952
这里需要注意的是,DateTime是一个不可变类型,与String非常类似,即使通过plusXXX、minusXX等方法进行操作,dt对象仍然不会变,只是新生成一个DateTime对象而已。但是,Joda也提供了一个可变类型的日期对象:MutableDateTime类,这样,日期的加减操作就更加方便了,比如列出10年内的黑色星期五,实现代码如下(此实现若用JDK的类来计算会异常复杂,读者可以尝试一下):
1700452953
1700452954
//当前可变时间
1700452955
1700452956
MutableDateTime mdt=new MutableDateTime();
1700452957
1700452958
//10年后的日期
1700452959
1700452960
DateTime destDateTime=dt.plusYears(10);
1700452961
1700452962
while(mdt.isBefore(destDateTime)){
1700452963
1700452964
//循环一次加1天
1700452965
1700452966
mdt.addDays(1);
1700452967
1700452968
//是13号,并且是星期五
1700452969
1700452970
if(mdt.getDayOfMonth()==13&&mdt.getDayOfWeek()==5){
1700452971
1700452972
//打印出10年内所有的黑色星期五
1700452973
1700452974
System.out.println(“黑色星期五:”+mdt);
1700452975
1700452976
}
1700452977
1700452978
}
1700452979
1700452980
(3)时区时间
1700452981
1700452982
这个比较简单实用,给定一个时区或地区代码即可计算出该时区的时间,比如在一个全球系统中,数据库中全部是按照标准时间来记录的,但是在展示层要按照不同的用户、不同的时区展现,这就涉及时区计算了,代码如下:
1700452983
1700452984
//当前时间戳
1700452985
1700452986
DateTime dt=new DateTime();
1700452987
1700452988
//此时伦敦市的时间
1700452989
[
上一页 ]
[ :1.70045294e+09 ]
[
下一页 ]