相关疑难解决方法(0)

Jodatime开始一天和一天结束

我想在一周的开头和当周的结束之间创建一个间隔.

我从以下答案中借鉴了以下代码:

private LocalDateTime calcNextSunday(LocalDateTime d) {
    if (d.getDayOfWeek() > DateTimeConstants.SUNDAY) {
        d = d.plusWeeks(1);
    }
    return d.withDayOfWeek(DateTimeConstants.SUNDAY);
}

private LocalDateTime calcPreviousMonday(LocalDateTime d) {
    if (d.getDayOfWeek() < DateTimeConstants.MONDAY) {
        d = d.minusWeeks(1);
    }
    return d.withDayOfWeek(DateTimeConstants.MONDAY);
}
Run Code Online (Sandbox Code Playgroud)

但现在我希望周一LocalDateTime是00:00:00,周日LocalDateTime是23:59:59.我该怎么做?

java android jodatime

46
推荐指数
3
解决办法
5万
查看次数

在JSR-310中查找下一个星期几的事件

鉴于JSR-310对象,例如LocalDate,我如何找到下周三(或任何其他星期几)的日期?

LocalDate today = LocalDate.now();
LocalDate nextWed = ???
Run Code Online (Sandbox Code Playgroud)

java datetime java-8 java-time

11
推荐指数
1
解决办法
1643
查看次数

如何找到任意日期的最近工作日?

有没有一种优雅的方法可以使用JodaTime查找给定日期的星期几?我最初以为setCopy()会是这样,但这会把这一天设定为同一周的特定日期.因此,如果ld2011-11-27day是"星期一",则以下函数返回2011-11-21,而不是2011-11-28我想要的.

    // Note that "day" can be _any_ day of the week, not just weekdays.
    LocalDate getNearestDayOfWeek(LocalDate ld, String day) {
        return ld.dayOfWeek().setCopy(day);
    }
Run Code Online (Sandbox Code Playgroud)

各种输入的所需输出:

2011-12-04, Monday    => 2011-12-05
2011-12-04, Tuesday   => 2011-12-06
2011-12-04, Wednesday => 2011-12-07
2011-12-04, Thursday  => 2011-12-01
2011-12-04, Friday    => 2011-12-02
2011-12-04, Saturday  => 2011-12-03
2011-12-04, Sunday    => 2011-12-04

2011-12-05, Monday    => 2011-12-05
2011-12-05, Tuesday   => 2011-12-06
2011-12-05, Wednesday => 2011-12-07
2011-12-05, …
Run Code Online (Sandbox Code Playgroud)

java jodatime

7
推荐指数
1
解决办法
5635
查看次数

如何将LocalDate格式化为yyyyMMDD(不使用JodaTime)

我正在尝试获取下一个即将到来的星期五的日期,并将其格式设置为yyyyMMDD。如果可能,我想不使用JodaTime来执行此操作。这是我的代码:

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.time.DayOfWeek;
import java.time.format.DateTimeFormatter;

// snippet from main method
LocalDate friday = LocalDate.now().with(TemporalAdjusters.next(DayOfWeek.FRIDAY));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern('yyyyMMDD');
System.out.println(friday.format(formatter));
Run Code Online (Sandbox Code Playgroud)

但是当我运行此命令时,出现以下错误(今天运行20170809)

java.time.DateTimeException: Field DayOfYear cannot be printed as the value 223 exceeds the maximum print width of 2
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:我正在使用Java 8

java

4
推荐指数
2
解决办法
9160
查看次数

如何从指定日期获取上周五的日期?

如何查找上一个(上一个)"星期五"的日期或指定日期的任何其他日期?

public getDateOnDay(Date date, String dayName) {
    // ?
}
Run Code Online (Sandbox Code Playgroud)

java calendar date

1
推荐指数
1
解决办法
6812
查看次数

标签 统计

java ×5

jodatime ×2

android ×1

calendar ×1

date ×1

datetime ×1

java-8 ×1

java-time ×1