我使用GSON获取具有不同数据的Json。一切正常,但是当用户在午夜半时键入00:30:00 AM时,它将转换为12:30:00 AM。我想在00:30:00 AM收到。 有没有办法在日期转换中不做任何更改?
答案 0 :(得分:1)
本来我想说服GSON给我想要的格式,但是对不起,我不知道GSON,所以无法告诉您是否可行。但是,如果不是这样,则在知道如何重新格式化得到的字符串时并不困难:
DateTimeFormatter gsonTimeFormatter = DateTimeFormatter.ofPattern("hh:mm:ss a");
DateTimeFormatter desiredTineFormatter = DateTimeFormatter.ofPattern("KK:mm:ss a");
String timeStringFromGson = "12:30:00 AM";
LocalTime time = LocalTime.parse(timeStringFromGson, gsonTimeFormatter);
String formattedTime = time.format(desiredTineFormatter);
System.out.println(formattedTime);
此代码段的输出为:
00:30:00 AM
格式模式字母hh
(小写)和KK
(大写)均表示AM或PM中的小时,但前者从01到12,后者从00到11,因此您需要的小时数,以防GSON的小时数是12。
答案 1 :(得分:0)
在通过Gson构建器创建gson对象时设置日期格式。
Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss").create();