【问题标题】:Java 8 DateFormatter week of month and year key symbols differenceJava 8 DateFormatter 月份和年份键符号的区别
【发布时间】:2016-11-02 21:15:08
【问题描述】:

我是java.time 的新手。请耐心等待。有什么区别

  Symbol  Meaning                     Presentation      Examples
  ------  -------                     ------------      -------
    F       week-of-month               number            3
    W       week-of-month               number            4 

不就是这样吗

  Symbol  Meaning                     Presentation      Examples
  ------  -------                     ------------      -------
    F/W       week-of-month               number            3

  Symbol  Meaning                     Presentation      Examples
  ------  -------                     ------------      -------
   Y       week-based-year             year              1996; 96
   u       year                        year              2004; 04
   y       year-of-era                 year              2004; 04

https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

【问题讨论】:

标签: java time java-time


【解决方案1】:

uy 之间的区别已经解决:What is the difference between year and year-of-era?

WF 之间的区别

a bug in the javadoc for F

W 是月份中的第几周,由Weekfields::weekOfMonth 表示:

这表示月份中周数的概念,其中周从固定的星期几开始,例如星期一。

F 是一个月中对齐的星期几,由ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH 表示:

这表示一周内的天数的概念,其中周与月初对齐。

FDateTimeFormatterSimpleDateFormat 中的行为相似。

示例:如果您使用 2016-11-07 作为输入,W 将返回 2(每月的第二周),但 F 将返回 7(第一周的第 7 天)对齐的星期,从每月 1 日开始)。

【讨论】:

  • 所以,2016-11-08F 产生 1?还有像aligned_week_number这样的东西吗?
  • 是的。我不这么认为。
  • ChronoField.ALIGNED_WEEK_OF_MONTH 或 ALIGNED_WEEK_OF_YEAR 没有字母,但是可以通过DateTimeFormatterBuilder输出值
  • 如果下个月没有出现在公共系统中,请ping我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-29
  • 2016-07-31
  • 1970-01-01
  • 2022-12-07
  • 2016-06-25
相关资源
最近更新 更多