【问题标题】:SimpleDateFormat provide wrong yearSimpleDateFormat 提供错误的年份
【发布时间】:2018-01-02 14:49:08
【问题描述】:

根据下图,当我使用item.takendateSimpleDateFormat

我得到的是 "January 2016" 而不是 "January 2017"

这里发生了什么?请指教。

编辑

但是,当我使用 cdate 解析回 Date 时,它​​的值从 1 月 1 日更改为 1 月 2 日

【问题讨论】:

  • 在您的图片中看起来像 2017
  • 看起来您的相机保存的文件日期错误,因此图像的元数据已损坏。
  • @Heisen-Berg 现在是 2017 年,但是当我使用 SimpleDateFormat 格式化日期时,结果是 2016 年
  • @Hubertoss 是不是和相机文件保存有关??
  • 嗯,我发现图片保存的日期为2017/01/01,如果它们是外部保存的,我会检查它。否则,如果您自己保存它们,那么您应该将“YYYY”更改为“yyyy”。 YYYY 代表 Java 8 中的 WEEK_OF_YEAR,与周数同步。

标签: android kotlin simpledateformat date-formatting android-date


【解决方案1】:

使用SimpleDateFormat时,YYYYyyyy有不同的含义!您几乎肯定想使用yyyy(实际年份)而不是YYYY(周年份)。

【讨论】:

  • 已解决,谢谢,我会在允许的情况下接受答案。
  • 一点解释:2017 年 1 月的第一天可能有 2016 年“周”的第 52 周;接下来的星期一(通常)是 2017 年(周和日历)的第 1 周。
猜你喜欢
  • 2018-09-20
  • 1970-01-01
  • 2010-11-18
  • 2012-04-02
  • 2020-12-23
  • 2012-12-03
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
相关资源
最近更新 更多