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

 yolo_bean 发布于 2023-02-13 19:09

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

我收到字符串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 2014

我期待一个ParseException,任何想法?

和其他例子:

字符串日期:365-12-2013输出:Sun Nov 30 00:00:00 COT 2014

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

为什么ParseException不抛?

1 个回答
  • 确保你setLenient(false)SimpleDateFormat.否则它会毫无例外地解析许多无效日期,你不能太信任输出.

    2023-02-13 19:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有