如何在java8中愉快地处理日期和时间java8新增了localdate和localtim

如何在java8中愉快地处理日期和时间java8新增了localdate和localtim,第1张

怎么才能愉快地处理日期时间?答案是:立刻升级到Java 8! Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的javautilDate实在是太难用了。 javautilDate月份从0开始,一月是0,十二月是11

解决方法如下:

1、修改phpini配置文件

打开phpini文件,一般在php配置根目录下,找到其中的 ;datetimezone,删掉前面的分号,并改为date timezone = PRC。保存,重启Apahce服务即可(有时用restart会有问题,先stop然后start就行了)。

2、加上date_default_timezone_set(timezone_identifier)函数

这个函数的意思是,设置当前时区,对时间进行初始化,在页头或获取时间语句前加上这句话。

LocalDate

看看新的LocalDate怎么用:

// 取当前日期:

LocalDate today = LocalDatenow(); // -> 2014-12-24

// 根据年月日取日期,12月就是12:

LocalDate crischristmas = LocalDateof(2014, 12, 25); // -> 2014-12-25

// 根据字符串取:

LocalDate endOfFeb = LocalDateparse("2014-02-28"); // 严格按照ISO yyyy-MM-dd验证,02写成2都不行,当然也有一个重载方法允许自己定义格式

LocalDateparse("2014-02-29"); // 无效日期无法通过:DateTimeParseException: Invalid date

日期转换经常遇到,比如:

// 取本月第1天:

LocalDate firstDayOfThisMonth = todaywith(TemporalAdjustersfirstDayOfMonth()); // 2014-12-01

// 取本月第2天:

LocalDate secondDayOfThisMonth = todaywithDayOfMonth(2); // 2014-12-02

// 取本月最后一天,再也不用计算是28,29,30还是31:

LocalDate lastDayOfThisMonth = todaywith(TemporalAdjusterslastDayOfMonth()); // 2014-12-31

// 取下一天:

LocalDate firstDayOf2015 = lastDayOfThisMonthplusDays(1); // 变成了2015-01-01

// 取2015年1月第一个周一,这个计算用Calendar要死掉很多脑细胞:

LocalDate firstMondayOf2015 = LocalDateparse("2015-01-01")with(TemporalAdjustersfirstInMonth(DayOfWeekMONDAY));

// 2015-01-05

LocalTime

LocalTime只包含时间,以前用javautilDate怎么才能只表示时间呢?答案是,假装忽略日期。

LocalTime包含毫秒:

LocalTime now = LocalTimenow(); // 11:09:09240

你可能想清除毫秒数:

LocalTime now = LocalTimenow()withNano(0)); // 11:09:09

构造时间也很简单:

LocalTime zero = LocalTimeof(0, 0, 0); // 00:00:00

LocalTime mid = LocalTimeparse("12:00:00"); // 12:00:00

import javatimeLocalDate;

public class DemoTime {

public static void main(String[] args) {

LocalDate date = LocalDateof(2015, 11, 12);

int now = dategetDayOfWeek()getValue();

Systemoutprintln("今天是\t星期"+now);

for (int i = 1; i < 8; i++) {

Systemoutprintln("下个星期"+i+"\t"+dateplusDays(7-now+i));;

}

}

}

输出

今天是 星期4

下个星期1 2015-11-16

下个星期2 2015-11-17

下个星期3 2015-11-18

下个星期4 2015-11-19

下个星期5 2015-11-20

下个星期6 2015-11-21

下个星期7 2015-11-22

/

获取上周五时间

/

public Date lastFirday() {

//作用防止周日得到本周日期

Calendar calendar = CalendargetInstance();

while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {

calendaradd(CalendarDAY_OF_WEEK, -1);

}

int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;

int offset = 7 - dayOfWeek;

calendaradd(CalendarDATE, offset - 9);

return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 6);//这是从上周日开始数的到本周五为6

}

/

获取上周一时间

/

public Date lastMonday() {

Calendar calendar = CalendargetInstance();

while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {

calendaradd(CalendarDAY_OF_WEEK, -1);

}

int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;

int offset = 1 - dayOfWeek;

calendaradd(CalendarDATE, offset - 7);

return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 2);

}

以上就是关于如何在java8中愉快地处理日期和时间java8新增了localdate和localtim全部的内容,包括:如何在java8中愉快地处理日期和时间java8新增了localdate和localtim、PHP函数Localdate()取出的月份是错误的。、如何在Java 8中愉快地处理日期和时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9822144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存