我让用户输入一种格式的日期字符串,我可以使用相应的DateFormat对其进行解析,并使用另一种(DB) DateFormat对其进行格式化。
但是,使用DB DateFormat时,我无法将其转换为相应的Date对象。
我的代码:
String userSpecifiedDate = "Fri Oct 12 15:28:04 UTC 2018";
SimpleDateFormat userSpecifiedDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'UTC' yyyy");
SimpleDateFormat DBDateFormat = new SimpleDateFormat("dd-MMM-yy hh.MM.ss.SSSSSS a");
Date userDateFormat = userSpecifiedDateFormat.parse(userSpecifiedDate);
System.out.println("User specified date in original format : " + userDateFormat);
// prints just fine : 'Fri Oct 12 15:28:04 PDT 2018'
String userSpecfiedDateInDBFormat = DBDateFormat.format(userDateFormat);
System.out.println("User specified Sting in DB format : " + userSpecfiedDateInDBFormat);
// prints: '12-Oct-18 03.10.04.000000 PM' (works for me, although see the minutes are wrong)
Date uss = DBDateFormat.parse(userSpecfiedDateInDBFormat);
System.out.println("User specified Date in DB format : " + uss);
// prints : 'Fri Oct 12 15:00:04 PDT 2018' ??
我期望它在DB DateFormat中打印日期,与'12-Oct-18 03.10.04.000000 PM‘相同。
我需要该格式的日期,因为我将在JPA中使用该Date对象来比较@NamedQuery中的日期。
发布于 2018-10-13 03:14:59
Java doc: docs.oracle.com/javase/8/docs/api/java/util/…toString()方法已修复为使用"dow mon dd hh:mm:ss zzz yyyy“格式
https://stackoverflow.com/questions/52784686
复制相似问题