使用 SimpleDateFormat:
DateFormat df = new SimpleDateFormat("dd-MMMM-YYYY kk:mm:ss.SSS");
Date extractedDate = df.parse(possibleDate);
输入给定:
11-May-2017 21:45:33.614
输出数据对象:
Sun Jan 01 21:45:33 MST 2017
我已经尝试了很多迭代,但它不会拉动月份和日期。
使用
dd-MMM-yyyy kk:mm:ss.SSS
作为图案
示例:
DateFormat df = new SimpleDateFormat("dd-MMM-yyyy kk:mm:ss.SSS");
Date extractedDate = df.parse("11-May-2017 21:45:33.614");
System.out.println(extractedDate);
输出:
Thu May 11 21:45:33 BDT 2017
另一件事如果您使用
kk
表示小时,则小时应代表1到24之间。如果0到23之间的小时使用HH
而不是kk
在现代 Java 中,仅使用 java.time 类。切勿使用遗留类
Date
、Calendar
、SimpleDateFormat
等
指定
Locale
以确定用于解析本地化值(例如月份名称)的人类语言和文化规范。
提示:在进行日期时间值的数据交换或日期存储时,避免使用本地化值。仅使用标准 ISO 8601 格式。
String input = "11-May-2017 21:45:33.614";
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MMMM-uuuu HH:mm:ss.SSS" );
LocalDateTime ldt = LocalDateTime.parse( input , f );
ldt.toString() = 2017-05-11T21:45:33.614