JAVA 用LocalDate怎么获取上个礼拜的礼拜一和礼拜日的时间
问题描述
如题,比如今天是2017.6.21 我怎么得到上个礼拜的礼拜一2017-06-12
问题解答
回答1:谢邀。
我记得java的Date处理好象有什么问题来着,具体我忘记了。一般都使用企业级的Time框架Joda-Time,举个例子:
//今天DateTime today = DateTime.now();//上周的今天DateTime sameDayLastWeek = today.minusWeeks(1);//上周的周一DateTime mondayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.MONDAY);//上周的周日DateTime sundayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.SUNDAY);回答2:
说Java的Date处理有什么问题的嘛,那是以前的java.util.Date, 现在的新包java.time的API处理时间也是非常方便,API都是参考了很多优秀的Time框架,例如Joda-Time,所以,要用还是用自家的API噻,哈哈,毕竟是亲儿子
LocalDate newLocalDate = LocalDate.of(2017, 6, 21).minusWeeks(1l) .with(DayOfWeek.MONDAY);
哈哈,是不是很简洁...比Joda-Time这个私生子是不是更简洁点...简直爽~~~嘎嘎嘎
回答3:LocalDate.now().minusWeeks(1).minusDays(LocalDate.now().getDayOfWeek().getValue()-1)我现在是这样写的,不知道还有没有更好的写法
回答4:public static void getLastMonday(){LocalDate local = LocalDate.now();//获取当前时间DayOfWeek dayOfWeek = local.getDayOfWeek();//获取今天是周几LocalDate lastMonday = local.minusDays(7+dayOfWeek.getValue()-1);//算出上周一 }
相关文章:
1. mysql 可以从 TCP 连接但是不能从 socket 链接2. sql语句 - 如何在mysql中批量添加用户?3. mysql 非主键做范围查找实现原理的一点困惑4. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集5. mysql建表索引问题求助6. mysql - PHP定时通知、按时发布怎么做?7. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。8. 事务 - mysql共享锁lock in share mode的实际使用场景9. mysql - 数据库建字段,默认值空和empty string有什么区别 11010. node.js - mysql如何通过knex查询今天和七天内的汇总数据
