interface SomeDataClass {
TemporalAccessor getSomeTime();
}
//somewhere in the impl...
public TemporalAccessor getSomeTime() {
return OffsetDateTime.from(dateTimeFormatter.parse(someDateInstring));
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何从这个TemporalAccessor接口获取时区数据?
我需要知道,在java(我的版本jdk 8)中,我可以替换,new DateTime(System.currentTimeMillis())这个代码形式,' DateTime.now()'?
我用过包import org.joda.time.DateTime;
如何在java 8中写同样的东西(日期和时间)?
我有一个ArrayList<DayOfWeek>让我们说["MONDAY","WEDNESDAY","FRIDAY"]
我的目标是以DayOfTheWeek循环方式基于 a 对其进行排序。
输入: "WEDNESDAY"
排序列表: ["WEDNESDAY","FRIDAY","MONDAY"]
该列表保证从周一到周日排序。不能保证输入日期在列表中,在这种情况下,排序从列表中的下一个值开始。
以下代码段返回:
28
31
Run Code Online (Sandbox Code Playgroud)
我想不通,为什么。我尝试通过两种方式将日历对象设置为 2021 年 2 月,我做错了什么?月份是从零开始的,所以二月是“1”。
import java.util.Calendar;
import java.util.GregorianCalendar;
public class HelloWorld{
public static void main(String []args){
Calendar g = new GregorianCalendar(2021, 1, 28);
System.out.println(g.getActualMaximum(Calendar.DAY_OF_MONTH));
int year = 2021;
int month = 1;
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
}
}
Run Code Online (Sandbox Code Playgroud)
或者这只会发生,因为我在 3 月 29、30 或 31 日调用 Calendar.getInstance() 而我没有调用
c.set(Calendar.DAY_OF_MONTH, {any day below 29});
Run Code Online (Sandbox Code Playgroud) 大家好,我有这样的代码
public static void main(String[] args) {
System.out.println(LocalDate.now().plusYears(1).plusMonths(6).plusDays(5));
System.out.println(LocalDate.now().plusDays(5).plusMonths(6).plusYears(1));
}
Run Code Online (Sandbox Code Playgroud)
我得到两个不同的结果
2022-10-31
2022-11-01
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么吗?谢谢
String nDate;
String dateTemp;
int i;
nDate = kb.nextLine();
String[] temp = nDate.split("-");
int numDate = Integer.parseInt(String.valueOf(temp));
Run Code Online (Sandbox Code Playgroud)
我在最后一行的 (temp) 部分有问题。例如,如果我的输入是“06-21-2020”,我想要发生的是它变成“06212020”
这段代码:
String dateString = "20210811T021500Z";
String dateFormat = "yyyyMMdd'T'HHmmss'Z'";
System.out.println(LocalDateTime.parse(dateString, dateFormat).toString());
System.out.println(LocalDateTime.parse(dateString, dateFormat).atZone(ZoneId.of("Europe/Budapest")).toString());
System.out.println(ZonedDateTime.of(LocalDateTime.parse(dateString, dateFormat), ZoneId.of("Europe/Budapest")).toString());
Run Code Online (Sandbox Code Playgroud)
输出这个:
2021-08-11T02:15
2021-08-11T02:15+02:00[Europe/Budapest]
2021-08-11T02:15+02:00[Europe/Budapest]
Run Code Online (Sandbox Code Playgroud)
如何打印调整后的时间?我希望结果是2021-08-11T04:15.
"2021-09-17 11:48:06 UTC"
Run Code Online (Sandbox Code Playgroud)
我想解析以下字符串并创建一个LocalDateTime对象或Instant
我知道你可以写这样的东西
String dateTime = "2021-09-17 11:48:06 UTC";
LocalDateTime dt = LocalDateTime.parse(dateTime,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
如何处理UTC字符串中的部分?
我有以下场景。
String currentMonth = SEP/2021
Run Code Online (Sandbox Code Playgroud)
在这里我想要String previous month = AUG/2021.
我怎样才能在java中实现这一点?
我一直在从事一个项目,需要我以这种方式解析字符串,我已经分离出了引发错误的小部分,
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
public class TestingYearMonth {
public static void main(String[] args) {
YearMonth yearMonth = YearMonth.parse("Feb-17", DateTimeFormatter.ofPattern("MMM-yy"));
System.out.println(yearMonth.getMonth() + " " + yearMonth.getYear());
}
}
Run Code Online (Sandbox Code Playgroud)
我的老师运行完全相同的代码,它返回输出没有问题。但是当我运行它时出现以下错误
Exception in thread "main" java.time.format.DateTimeParseException: Text 'Feb-17' could not be parsed at index 0
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2046)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)
at java.base/java.time.YearMonth.parse(YearMonth.java:295)
at com.ethanbradley.assignment6.TestingYearMonth.main(TestingYearMonth.java:10)
Run Code Online (Sandbox Code Playgroud)
我们检查了一下,我的 jdk 很好(jdk 11,亚马逊 coretto 版本),我真的不明白为什么这不起作用,请帮助哦明智的互联网人们......