在Java代码里面我们经常使用java.text.SimpleDateFormat来进行日期和字符串间的转换。在使用它将字符串转化为日期时并不是很严格的。
比如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse("2013-19-34 32:90:100");
这段代码不会抛出异常,得到的日期会自动解析成为合法的,上面的例子返回的日期为:
2014-08-04 09:31:40
由于这个是智能完成的,很容易被忽略掉而导致错误。
以上有2种解决办法:
1. 调用setLenient(false)来进行严格分析
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
Date date = df.parse("2013-19-34 32:90:100");
这样解析时就会出java.text.ParseException
2. 解析完成后,将解析的Date通过SimpleDateFormat重新format一遍,然后比较输入和输出日期是否相等。
分享到:
相关推荐
java 日期格式化 SimpleDateFormat 的使用详解 java 中的日期格式化是通过 SimpleDateFormat 类来实现的,该类提供了灵活的日期格式化方式,通过指定日期和时间模式字符串,可以将日期和时间格式化为字符串。日期和...
import java.text.SimpleDateFormat; import java.util.Date; public class ExcelDateHandler { public static void main(String[] args) throws Exception { String filePath = "path/to/your/excel/file.xlsx...
在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`来处理日期。然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time....
3.打开war包,里面有个java的文件夹,把他全部拷到你的项目下,如/demo/java 4.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,为了以后启动方便,我在ext/下新建了一个bat文件内容如下: @echo off...
Java的核心API是Java编程语言的重要组成部分,它提供了一系列的基础类库,使得开发者能够方便地进行各种复杂的编程任务。其中,`java.text`包是专门处理文本格式化、国际化和本地化的重要工具集,广泛用于日期、时间...
在压缩包的文件名列表中,有`www.pudn.com.txt`和`用java语言编写的日历`,`www.pudn.com.txt`可能是下载资源的来源信息,而`用java语言编写的日历`可能是一个源代码文件,里面包含了具体的日历程序实现。...
### Java一次性查询处理几百万数据解决方法 在Java开发中,处理大数据量是常见的需求之一,特别是当数据规模达到几百万级别时,如何高效、稳定地处理这些数据变得尤为重要。本文将详细介绍一种Java一次性查询处理几...
三,就是Java类库里面的date和Calendar的使用和相互转换(还要考虑实际日期的情况,比如闰年,平年,2月份,30/31日的月,月末与月初的交接,还有时间格式SimpleDateFormat 以及异常处理),这些问题相信很多同学都...
在实际使用中,我们通常使用其子类`SimpleDateFormat`来定制日期和时间的显示格式。 3. `Calendar`类:抽象类,提供了一种处理日期和时间的强大方式,可以方便地获取和设置日期的各个组成部分,如年、月、日、小时...
然而,示例代码实际上是 Java 语言编写的,这可能是为了展示时间格式的具体应用实例。接下来,我们将深入探讨 VB 中的时间格式,并结合部分 Java 示例来进一步解释这些格式的应用场景。 ### VB 时间格式大全 在 VB...
包括Date、Calendar、SimpleDateFormat等,用于处理日期和时间。Java 8后,引入了新的日期时间API(java.time包),更加易用和强大。 8. **集合框架**: 集合分为Collection和Map两大接口。Collection接口有List...
- `SimpleDateFormat`:格式化和解析日期/时间的类,如`yyyy-MM-dd HH:mm:ss`。 - `LocalDate`, `LocalTime`, `LocalDateTime`(Java 8及以上):提供了更简洁的API,如`now()`, `parse()`, `format()`等。 - `...
首先,我们需要import相关的包,包括java.awt.Rectangle、java.awt.Robot、java.awt.Toolkit、java.awt.image.BufferedImage、java.io.File、java.text.SimpleDateFormat、java.util.Calendar和javax.imageio....
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JOptionPane; /* 这是接口 Runnable 的实现类...
里面的内容为: 第1关:Object类 第2关:JAVA基础类型包装类-练习 第3关:String&StringBuilder&StringBuffer类-练习 第4关:Random类 第5关:Date类和SimpleDateFormat类的用法 第6关:Math类
答:int是java的原始数据类型,Integer是java为int提供的封装类,java为每个原始数据类型都提供了封装类。 String和StringBuffer的区别? 答:String是不可变的对象,每次对String类型进行改变都相当于产生了一个新...
- 使用`SimpleDateFormat`或`java.time.format.DateTimeFormatter`(Java 8及以上版本)格式化当前日期和时间。 - 将格式化后的时间字符串设置为`Properties`对象的键值对,其中键是你自定义的标识,例如...
4. **日期/时间API**:Java 1.8中移除了过时的`java.util.Date`和`java.text.SimpleDateFormat`,引入了全新的`java.time`包,提供了更加友好的日期、时间和时区处理功能。 5. **接口默认方法**:在不破坏向后兼容...