`

日期字符串解析--SimpleDateFormat严格限制日期转换setLenient(false)

 
阅读更多
public static void main(String[] args) throws ParseException {
		String s = "2019-09-01";
		System.out.println("转换前日期:"+s);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		System.out.println("转换后日期:"+sdf.parse(s));
		DateFormat df = new SimpleDateFormat("yyyyMMdd");
		System.out.println("再次转回:"+df.format(sdf.parse(s)));
	}

 结果:

转换前日期:2019-09-01
转换后日期:Sun Dec 09 00:00:00 CST 2018
再次转回:20181209

 

 

明显的转换的有问题,

后来查了下API,是由于默认转换是宽松转换引起的,改为严格转换即可

sdf.setLenient(false);

第一次转换就会报错了,如下:

转换前日期:2019-09-01

Exception in thread "main" java.text.ParseException: Unparseable date: "2019-09-01"
at java.text.DateFormat.parse(DateFormat.java:366)
at com.datalook.util.common.DateUtils.main(DateUtils.java:50)

 

 

分享到:
评论

相关推荐

    JAVA日期与字符串的转换

    3. **性能考虑**:如果频繁进行日期和字符串之间的转换,可以考虑使用线程安全的`DateTimeFormatter`类(Java 8及以上版本提供)来替代`SimpleDateFormat`,以提高程序的性能。 4. **国际化支持**:如果应用程序需要...

    JAVA日期字符串与日期互相转换(非常实用)

    JAVA:日期字符串与日期互相转换 (日期类型转字符串,字符串转日期格式) SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    zk扩展工具--spring集成--字符串处理--日期处理

    例如,我们可以使用`SimpleDateFormat`来格式化和解析日期字符串,或者使用`LocalDateTime`、`ZonedDateTime`等类进行日期和时间的操作。例如: ```java SimpleDateFormat formatter = new SimpleDateFormat("yyyy-...

    字符串转日期

    2. **`java.text.ParseException`**: 当`SimpleDateFormat`无法正确解析日期字符串时抛出的异常。 3. **`java.util.Date`**: Java中的基本日期表示类,用于表示特定的瞬间,精确到毫秒。 #### 三、代码示例分析 ...

    Java字符串转换为日期和时间比较大小[归类].pdf

    在上面的代码中,我们首先使用 SimpleDateFormat 将日期字符串转换为日期对象,然后使用 getTime 方法比较日期对象的大小。如果 dt1 的时间大于 dt2 的时间,则返回 1;如果 dt1 的时间小于 dt2 的时间,则返回 -1;...

    检查日期格式字符串是否能转化成日期

    检查日期格式字符串是否能转化成日期,字符串可通过new SimpleDateFormat("xxxx");得到日期字符串

    日期工具类,包括各种日期之间的转换

    - **实现逻辑**: 使用 `SimpleDateFormat` 类来创建日期格式化对象,并通过该对象的 `parse()` 方法将日期字符串转换为日期对象。 ### 四、总结 综上所述,`DateUtil` 类提供了丰富的日期处理功能,包括但不限于...

    应用java实现日期型字符串和日期之间的相互转换(源代码)

    在Java中,我们可以使用SimpleDateFormat或DateTimeFormatter将日期型字符串转换为日期对象。例如: ```java import java.text.SimpleDateFormat; import java.util.Date; SimpleDateFormat formatter = new ...

    android 判断字符串是否是日期格式

    `SimpleDateFormat`是一个强大的日期/时间格式化类,它可以将日期和时间转换为字符串,反之亦然。以下是一个简单的示例: ```java public boolean isDateString(String input) { try { new SimpleDateFormat(...

    JAVA字符串转日期或日期转字符串.docx

    `java.text.SimpleDateFormat`是Java提供的一种强大的日期和时间格式化工具,它可以将日期对象转换为字符串,也可以将字符串解析为日期对象。下面我们将深入探讨如何使用`SimpleDateFormat`进行日期与字符串之间的...

    日期类 将短时间格式时间转换为字符串

    为了显示或打印日期,我们需要将其转换为人类可读的字符串形式,这就需要用到 `SimpleDateFormat` 类。`SimpleDateFormat` 是一个具体的类,实现了 `DateFormat` 接口,可以用来解析、格式化和打印日期/时间。 在...

    Java字符串 日期 数字格式化输出-.doc

    Java 字符串日期数字格式化输出 Java 中的字符串日期数字格式化输出是一种常见的操作,特别是在数据输出和显示时。 Java 提供了多种方式来实现格式化输出,包括使用 NumberFormat、DecimalFormat 和 ...

    Java日期时间字符串和毫秒相互转换的方法

    在上面的代码中,我们首先定义了一个日期时间字符串,然后使用SimpleDateFormat类将其解析成Date对象,最后使用Calendar类将Date对象转换成毫秒。 毫秒转换成日期时间字符串 在Java中,可以使用Date和...

    日期转换----望有所帮助

    本文将深入探讨如何在Java中进行日期转换,包括如何将日期对象转换为特定格式的字符串以及如何将字符串解析回日期对象,并提供一些实用的例子。 #### 一、Java中的日期类 在Java中,日期相关的类主要分为以下几种...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    ### Java.util.Date与Java.sql.Date互转及字符串转换为日期时间格式 #### 一、Java.util.Date与Java.sql.Date的基本概念 在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类...

    Java字符串类型转换

    3. **从布尔值到字符串**:`String.valueOf(Boolean b)` 可以将布尔值转换为字符串,其中`true`转换为`"true"`,`false`转换为`"false"`。 #### 二、字符串到其他类型的转换 1. **从字符串到整型**:`Integer....

    Springboot DTO字符字段与日期字段的转换问题.docx

    当前端提交包含日期字符串的JSON时,如`"birthday":"1983-03-18"`,Spring Boot默认会将这个字符串解析为时间戳,而不是转换为Date对象。因此,在响应到前端时,`birthday`字段显示为时间戳,而不是日期字符串。 ...

    字符串122000.txt

    日期与字符串相互转换 - **日期转字符串**: ```java Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(d); System.out.println(str); `...

    java日期格式的转换

    该方法使用 `SimpleDateFormat` 对象将日期对象转换为字符串,日期格式为 `yyyy-MM-dd HH:mm:ss`。 日期格式的种类 在 Java 中,我们可以使用多种日期格式来表示日期对象。常见的日期格式包括: * `yyyy.MM.dd G ...

Global site tag (gtag.js) - Google Analytics