ww SimpleDateFormat 的奇怪行为

2023-11-25

谁能解释为什么我在尝试解析日期时会得到这些值? 我尝试了三种不同的输入,如下:

1) 2013年第三周

Date date = new SimpleDateFormat("ww.yyyy").parse("02.2013");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println(cal.get(Calendar.WEEK_OF_YEAR) + "." + cal.get(Calendar.YEAR));

哪个输出:02.2013(如我所料)

2) 2013 年第一周

Date date = new SimpleDateFormat("ww.yyyy").parse("00.2013");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println(cal.get(Calendar.WEEK_OF_YEAR) + "." + cal.get(Calendar.YEAR));

哪个输出:52.2012(这对我来说很好,因为 2013 年的第一周也是 2012 年的最后一周)

3) 2013年第二周

Date date = new SimpleDateFormat("ww.yyyy").parse("01.2013");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println(cal.get(Calendar.WEEK_OF_YEAR) + "." + cal.get(Calendar.YEAR));

哪个输出:1.2012(这绝对使no对我来说感觉)

有谁知道为什么会发生这种情况?我需要解析格式为(一年中的一周).(年)的日期。我使用了错误的模式吗?


你正在使用ww,这是“一周中的一周”,但是然后yyyy这是“日历年”而不是“周年”。设置周周年然后设置日历年会产生问题,因为它们实际上只是单独的编号系统。

你应该使用YYYY在您的格式字符串中指定周年...尽管不幸的是看起来您不能get以理智的方式体现价值。 (我期望Calendar.WEEKYEAR常数,但不存在这样的东西。)

此外,一年中的周值从 1 开始,而不是 0...并且两周中没有周;它是either2013年第一周or这是 2012 年的最后一周……两者都不是。

如果可以的话,我个人会避免使用周年和周 - 它们可能会非常令人困惑,特别是当一个日历年中的日期位于不同的周年中时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ww SimpleDateFormat 的奇怪行为 的相关文章

  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 仅从 sparql 查询中选择第一个对象

    我想从 dbpedia 获取 Daft Punk 的唱片目录 对于每张专辑我想展示 1 标题 2 发行年份 3 维基百科页面 所以我写了这个查询 PREFIX d
  • 如何隐藏绘图中的数据间隙?

    我的数据集可能包含较大的数据间隙 并且我想绘制数据图表 而不用绘图自动用空格填充间隙 我的应用程序中的示例图表 Data date responses percentage 2017 02 13 4 0 6296 2017 02 14 1
  • 如何等待ajax调用返回

    我正在尝试使用 JQuery 尽管在执行进一步的代码之前我正在努力成功等待 ajax 调用成功 有没有办法等待ajax调用 我看过例子 但似乎只是盲目地等待 x 秒 谢谢 詹姆士 是的 您可以同步执行请求 var bodyContent a
  • AngularJS if 语句?

    所以我正在浏览 AngularJS 教程 我在控制器中定义了一个数组 当我循环 ng repeat feature name feature description 时 我通过调用返回数组中的不同点 我不明白的是 假设我在数组中有第三个点
  • 如何从 Instagram 网络浏览器中抓取关注者?

    谁能告诉我如何访问底层 URL 以查看给定用户的 Instagram 关注者 我可以使用 Instagram API 来完成此操作 但考虑到审批流程的待更改 我决定改用抓取 Instagram 网络浏览器允许您查看任何给定公共用户的关注者列
  • 使用 Backbone.js 将表单输入序列化为 JSON

    我正在开发 RESTful 应用程序 我在服务器端使用 Java 在前端使用 Backbone 两者将通过 JSON 进行通信 我的应用程序有很多表单 我想 将表单输入序列化为 JSON 将 JSON 发送到服务器 我的问题 将表单输入序列
  • 错误代码100在r中使用fitdist拟合exp分布

    我试图使我的数据符合指数分布 但出现以下错误 Error in fitdist x41 exp method mle the function mle failed to estimate the parameters with the e
  • 为什么从 .Net 应用程序调用 SQL 函数与在 Management Studio 中进行相同调用时存在性能差异

    我们在测试和开发环境中遇到一个问题 从 Net 应用程序调用时 函数有时运行速度非常慢 当我们直接从管理工作室调用这个函数时 它工作得很好 以下是它们在分析时的差异 从应用程序 中央处理器 906阅读数 61853写入 0持续时间 926
  • 使用 Ajax 从 DataTable 中删除一行

    我有一个 JSF 视图 它列出了 Primefaces 中集合中的项目DataTable 最右边的列包含删除按钮 当单击删除按钮时 应该进行 Ajax 调用 从会话变量中删除相应的项目Cart并就地更新视图 我希望请求和视图更改尽可能少 以
  • 无效查询。您不能使用多个“in”过滤器

    this ref collection users ref gt ref where uid1 in reciverId senderId where uid2 in reciverId senderId 给我错误 例如 查询无效 您不能使
  • 双向映射的最佳数据结构

    我想要一个从键映射到对象的数据结构 反之亦然 与仅在单个方向映射的 HashMap 不同 一个想法可能是将 HashMap 存储在其自身内部以进行反向查找 但这将是一种低效的方法 双向映射的最佳实现是什么 最简单的想法 包含 2 个映射的包
  • ActiveRecord::EagerLoadPolymorphicError:无法急切加载多态关联

    class Transaction lt ActiveRecord Base belongs to account polymorphic gt true end class Bankaccount lt ActiveRecord Base
  • 如何检测方向变化并更改布局?

    假设我有一个包含 2 行 2 列的网格 每个单元格内有许多控件 当应用程序更改为捕捉模式时 我的意思是屏幕的 1 3 我希望应用程序只有一列 2 行 并且只显示我决定的一些控件 我对此有什么控制权 thx 您应该在 xaml 中使用 Vis
  • 嵌套模块重新导入时出现 UnboundLocalError [重复]

    这个问题在这里已经有答案了 当我在 python 2 7 中重新导入已导入的模块时 出现 UnboundLocalError 一个最小的例子是 usr bin python import sys def foo print sys impo
  • 插入数据库日期时间字符串

    我有字符串04 04 2012 04 03 35 AM 如何将其转换并插入表中 字段类型为datetime 你需要使用STR TO DATE STR TO DATE 04 04 2012 04 03 35 AM d m Y r 或者 更好的
  • 如何将 Oracle 中的数据库模式导出到转储文件 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我在 Linux 计算机上安装了 Oracle 服务器上的数据库架构 我需要在转储文件中导出架构相关信息 这个怎么做 这取决于Oracle的哪个版本 旧版本需要exp 导出 新版
  • 如何生成随机字母数字字符串?

    如何在 C 中生成随机 8 个字符的字母数字字符串 我听说 LINQ 是新的黑色 所以这是我使用 LINQ 的尝试 private static Random random new Random public static string R
  • 如果“env”参数包含 unicode 对象,为什么 Popen 在 Windows 上失败?

    考虑这个例子 gt gt gt import subprocess as sp gt gt gt sp Popen notepad2 exe env PATH C users guillermo smallapps bin
  • Entity Framework + MySQL - 为什么性能这么糟糕?

    当我决定在我的新项目中使用 OR M 这次是 MySQL 的实体框架 时 我希望它能节省我的时间 但我似乎失败了 现在是第二次 执行这个简单的 SQL 查询 SELECT FROM POST ORDER BY addedOn DESC LI
  • ww SimpleDateFormat 的奇怪行为

    谁能解释为什么我在尝试解析日期时会得到这些值 我尝试了三种不同的输入 如下 1 2013年第三周 Date date new SimpleDateFormat ww yyyy parse 02 2013 Calendar cal Calen