Java Timestamp从MySQL数据库取出的字符串转换为LocalDateTime
2016-01-26 16:08
661 查看
最新在工作中使用了Java 8的LocalDateTime这个新的日期时间类,整体感觉还是不错的。
不过在使用过程中遇到一个问题,写了个转换方法。
我在从一个从数据库取出并生成的一个名为user的实体对象。这个实体对象包涵一个String(BTW.为什么Java到8了还不能像c#一样写成string)类型的属性,这个属性是由数据库中的timestamp直接转换过来的,所以生成了一个 "2016-01-25 17:55:38.0" 这个的字符串。可是在使用LocalDateTime.parse()方法(两个重载方法都不行)会有DateTimeParseException抛出,我在文档里没找到LocalDateTime提供的合适的转换的方法。所以小实验了一下,写了下面的转换方法。
亲测可用。
由于我寻找其他方法不是很详细,可能有更好的方法。哪位同行有好的方法,请不吝赐教。
不过在使用过程中遇到一个问题,写了个转换方法。
我在从一个从数据库取出并生成的一个名为user的实体对象。这个实体对象包涵一个String(BTW.为什么Java到8了还不能像c#一样写成string)类型的属性,这个属性是由数据库中的timestamp直接转换过来的,所以生成了一个 "2016-01-25 17:55:38.0" 这个的字符串。可是在使用LocalDateTime.parse()方法(两个重载方法都不行)会有DateTimeParseException抛出,我在文档里没找到LocalDateTime提供的合适的转换的方法。所以小实验了一下,写了下面的转换方法。
/**
*
* @Title
* @Description 将带有纳秒的时间字符串转换成LocalDateTime
* @param str
* @return
*/
public static LocalDateTime timestampStrToLocalDateTime(String str){
long millis = Timestamp.valueOf(str).getTime();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(millis);
Date date = calendar.getTime();
SimpleDateFormat sdm = new SimpleDateFormat(LocalDateTimeUtils.LONG_DATE_FORMAT);
return LocalDateTime.parse(sdm.format(date), LocalDateTimeUtils.LONG_DATE_FORMATTER);
}
亲测可用。
由于我寻找其他方法不是很详细,可能有更好的方法。哪位同行有好的方法,请不吝赐教。
相关文章推荐
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 在java中实现日期类型和字符串类型的转换_所有(Date String Timestamp Datetime)
- java中存储mysql数据库时间类型【date、time、datetime、timestamp】
- java8的LocalDateTime与Date互相转换
- 字符串 与 java.sql.Timestamp转换博客分类: javaJavaSQL
- org.apache.commons.beanutils.BeanUtils 自定义转换 java 8 localdatetime 类
- Java8中 Date和LocalDateTime的相互转换
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- 时间戳(timestamp)、时间字符串(datetimestr)、时间(datetime)之间的相互转换
- Java8中 Date和LocalDateTime的相互转换
- java取出以数字开头或者以数字结尾的字符串,将字符串转换为大写
- Java时间Date、Calendar、TimeStamp与字符串String之前的转换
- Mysql中的from_unixtime,unix_timestamp 整型与datetime 字符串之间的转换
- java8 Date,Timestamp,LocalDate,LocalTime,LocalDateTime,Instant互转
- java的JDBC连接mysql数据库时对于Datetime类型出现Cannot convert value '0000-00-00 00:00:00' from column 9 to TIMESTAMP.
- java对象与json串的相互转换 将Bean中的Timestamp转换为json中的日期字符串