Java Timestamp从MySQL数据库取出的字符串转换为LocalDateTime
最新在工作中使用了Java8的LocalDateTime这个新的日期时间类,整体感觉还是不错的。
不过在使用过程中遇到一个问题,写了个转换方法。
我在从一个从数据库取出并生成的一个名为user的实体对象。这个实体对象包涵一个String(BTW.为什么Java到8了还不能像c#一样写成string)类型的属性,这个属性是由数据库中的timestamp直接转换过来的,所以生成了一个"2016-01-2517: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); }
亲测可用。
由于我寻找其他方法不是很详细,可能有更好的方法。哪位同行有好的方法,请不吝赐教。
相关推荐
adsadadaddadasda 2020-09-08
九天银河技术 2020-11-11
行万里 2020-10-26
此处省略三千字 2020-10-22
nongfusanquan0 2020-09-23
夜影风个人空间 2020-09-22
85251846 2020-09-14
jbossrobbie 2020-08-16
幸福ITman汪文威 2020-08-15
MySQL源氏boy 2020-08-15
MySQLqueen 2020-08-15
solarspot 2020-07-28
Greatemperor 2020-07-19
冷月醉雪 2020-07-05
manongxiaomei 2020-07-05
javamagicsun 2020-07-04
june0 2020-07-04
yogoma 2020-06-25