SimpleDateFormat 方法解析中可能出现错误

2023-12-11

我收到一个表示日期的字符串,我需要将此字符串转换为日期,并验证该字符串是否为有效日期。

我收到字符串 33-12-2013,解析方法返回日期 01-01-2014,代码:

Date fechaVencimientoFormateada;
SimpleDateFormat formateador = new SimpleDateFormat( "dd-MM-yyyy" );
try
{
    fechaVencimientoFormateada = formateador.parse( "33-12-2013" );      
    System.out.println( formateador.format(fechaVencimientoFormateada) );
}
catch ( ParseException e )
{
    System.out.println("ERROR!");
}

输出: 2014 年 1 月 2 日星期四 00:00:00 COT

我预计会出现 ParseException,知道吗?

以及其他例子:

字符串日期:365-12-2013 输出:2014 年 11 月 30 日星期日 00:00:00 COT

字符串日期:2013 年 1 月 24 日 输出:2014 年 12 月 1 日星期一 00:00:00 COT

为什么 ParseException 没有抛出?


确保你setLenient(false) on the SimpleDateFormat。否则,它将无一例外地解析大量无效日期,并且您不能太信任输出。

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

SimpleDateFormat 方法解析中可能出现错误 的相关文章

随机推荐

  • 如何理解“warp 中的所有线程同时执行相同的指令”。在 GPU 中?

    我在读专业CUDA C编程 并在GPU 架构概述部分 CUDA 采用单指令多线程 SIMT 架构来管理和执行 32 个线程组 称为 warp warp 中的所有线程同时执行相同的指令 每个线程都有自己的指令地址计数器和寄存器状态 并根据自己
  • 如何复制 Xcode 项目来创建免费应用程序的付费版本

    我有一个免费的应用程序 我想制作一个付费版本 我尝试创建一个新项目并将类复制到其中 但不是很简单 有没有更简单的方法呢 我复制了目标 但是我可以通过什么方式在一个目标上设置指定的代码 并在另一个目标上设置另一个代码 你能帮助我吗 Paul
  • 如何获取邮政编码的纬度和经度?

    我需要一些帮助来动态获取用户输入的邮政编码的纬度和经度 这样我就可以在邮政编码的这些区域显示商店地址 谷歌正在运行某种地理编码 你应该检查一下 它可能对你有帮助http code google com apis maps documenta
  • Node.js - MySQL 中的“PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR”

    我正在尝试编写一个Node Express来提供REST服务 应用程序启动时一切顺利 然而 几个小时后 我收到一个错误 code PROTOCOL ENQUEUE AFTER FATAL ERROR fatal false 看来有些资源即将
  • 给定 n,对 n 的数字求和。如果该值超过一位数,则继续减少产生一位数

    def digital root n x str n while len x 0 and len x 1 r 0 for i in range len x r r int x i x str r return r 数字根是数字中所有数字的递
  • Spark MapReduce 中的意外结果

    我是 Spark 新手 想了解 MapReduce 是如何在幕后完成的 以确保我正确使用它 这个帖子提供了一个很好的答案 但我的结果似乎不符合所描述的逻辑 我正在运行Spark 快速入门Scala 命令行指南 当我正确地添加行长度时 结果就
  • 类助手不会覆盖祖先的虚拟方法

    我一直将类助手理解为扩展类或部分类 它们的作用就像原始基类代码的扩展 如果我复制代码的接口部分并将其添加到基类中 并在实现中也这样做 那么代码的运行方式将与助手的运行方式完全相同 这让我始终了解助手中的多态性以及为什么它们不能重写基类中的方
  • Facebook 的通知(数据库实现)

    我想知道 Facebook 如何实现他们的通知系统 因为我想做类似的事情 FooBar 评论了你的状态 Red1 Green2 和 Blue3 对您的照片发表了评论 MegaMan 和其他 5 人评论了您的活动 我无法将多个通知写入单个记录
  • 读取文件时脚本跳过第二个 for 循环

    我正在尝试读取日志文件并将某些值与预设阈值进行比较 我的代码设法记录第一个的原始数据for在我的函数中循环 我添加了打印语句来尝试弄清楚发生了什么 并且我成功地推断出我的第二个 for 循环从未 发生 这是我的代码 def smartTes
  • 将 DataAnnotations 添加到自动生成的 DBML 类? MVC 2.0 ASP.NET

    我担心这样做 因为当 dbml 文件再次自动生成时 通常是这样 我的更改将被覆盖 我正在考虑做一个部分类并写出相同的属性来注释它们 但担心它会抱怨重复 而我什至无法实验的原因让我想到了问题的第二部分 我的 dbml 文件列表上的可扩展箭头丢
  • itextsharp 中的阿拉伯语编码

    当我尝试使用 C 这段代码创建阿拉伯语 PDF 时 生成的 PDF 文件包含离散字符 有什么帮助我无法获得连续字符吗 Create our document object Document Doc new Document PageSize
  • stl() 分解不接受单变量 ts 对象?

    我对 R 中的 stl 时间序列分解函数有疑问 告诉我我的 ts 对象不是单变量 而实际上它是单变量 tsData lt ts data dummyData start c 2012 1 end c 2014 12 frequency 12
  • 使用带有类别的 dplyr

    我有一个数据集 其中包含不同地点不同物种的计数值 该数据集不包括对物种进行调查但未发现的地点 计数 0 我尝试使用 dplyr Complete 函数来填写所有站点 但我不断收到以下错误消息 Error by can t contain j
  • 当我从模型中读取项目时,项目从组合框中消失

    I have QComboBox我设置了QStandardItemModel因为我需要其中的多选复选框 问题是 当我读取文本值并检查组合框中项目的状态时 它们从组合中消失 这就是我将模型设置为组合框的方法 areas Area one Ar
  • 将 vba 转换为 vb6 并创建 .dll - 操作方法 - 提示、技巧和风险

    我应该将用 VBA Excel 编写的大量代码转换为 VB6 但我真的不知道我必须照顾什么或从哪里开始 因此 如果能从 VB6 专家那里得到一些提示那就太好了 我已经安装了 MS Visual Studio 并进行了一些尝试 但我不是 VB
  • VBA 复制并粘贴枢轴值和格式

    我尝试复制并粘贴数据透视表 但我想保留值和格式 Sub PivotTablePaste Set pt Worksheets Sheet1 PivotTables 1 pt TableRange2 Copy With Worksheets S
  • Bash shell 中的正则表达式密码验证

    我正在使用正则表达式Bash shell 脚本 我使用下面的正则表达式代码来检查密码标准 密码长度应至少为 6 个字符 其中至少有一位数字和至少一个大写字母 我在正则表达式验证工具中进行了验证 我形成的正则表达式工作正常 但是 它在 Bas
  • 如何将 MTM 测试用例从 TFS 2013 迁移到 VSTS?

    我们拥有数千本手册的遗产测试用例在我们本地的 Microsoft 测试管理器中创建TFS 2013 我们正在努力将他们转移到VSTS事实证明这很困难 I 据我所知 目前微软还没有官方的迁移工具 尽管他们正在开发一种用于完整数据迁移 II 我
  • 如何设置 nvcc 以使用 Windows SDK 7.1 中的 Visual C++ Express 2010 x64?

    我正在使用 Windows SDK 7 1 扩展的 Visual C Express 2010 构建 64 位应用程序 以添加 64 位编译器 当我在 32 位模式下使用 nvcc 时 它运行良好 当我在 64 位模式下使用它时 出现以下错
  • SimpleDateFormat 方法解析中可能出现错误

    我收到一个表示日期的字符串 我需要将此字符串转换为日期 并验证该字符串是否为有效日期 我收到字符串 33 12 2013 解析方法返回日期 01 01 2014 代码 Date fechaVencimientoFormateada Simp