我想从 Java
中的 date
获取星期几。为什么这会返回 Friday 而
实际上是 Tuesday
?
new java.text.SimpleDateFormat("EEEE").format(new java.util.Date(2015, 6, 9))
PS 我知道 java.util.Date(int year, int month, int day)
已被弃用,也许这与它有关。
最佳答案
该已弃用的构造函数中的 month
参数从 0
开始表示一月,因此您可能需要 new Date(115, 5, 9)
如果您谈论的是 6 月 9 日(115
是因为 year
参数是“自 1900 年以来”)。
来自 the documentation :
Parameters:
year
- the year minus 1900.
month
- the month between 0-11.
date
- the day of the month between 1-31.
(我的重点。)
您曾说过您想将其作为单行程序来执行此操作。在 Java 8 中,您可以:
String day = LocalDate.of(2015, 6, 9).format(DateTimeFormatter.ofPattern("EEEE"));
关于java - 为什么 new java.text.SimpleDateFormat ("EEEE").format(new java.util.Date(2015, 6, 9)) 返回错误的星期几?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30735244/