搜索
JAVA 用LocalDate怎么获取上个礼拜的礼拜一和礼拜日的时间
扔个三星炸死你
扔个三星炸死你 2017-06-23 09:13:25
[Java讨论组]

如题,比如今天是2017.6.21 我怎么得到上个礼拜的礼拜一2017-06-12

扔个三星炸死你
扔个三星炸死你

全部回复(4)
为情所困

谢邀。

我记得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);
阿神

说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这个私生子是不是更简洁点...简直爽~~~嘎嘎嘎

我想大声告诉你

LocalDate.now().minusWeeks(1).minusDays(LocalDate.now().getDayOfWeek().getValue()-1)
我现在是这样写的,不知道还有没有更好的写法

曾经蜡笔没有小新
    public static void getLastMonday(){
        LocalDate local = LocalDate.now();//获取当前时间
        DayOfWeek dayOfWeek = local.getDayOfWeek();//获取今天是周几
        LocalDate lastMonday = local.minusDays(7+dayOfWeek.getValue()-1);//算出上周一
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号