【发布时间】:2019-05-07 21:47:02
【问题描述】:
我有一个格式为 hh:mm 的日期字符串。我想将其转换为 yyyy-MM-dd HH:mm:ss 这种格式并将其转换为 UTC 时区并将其保存到数据库中。
我试过了:
private void returnPickupTimeUTC(){
String pickupTime = "04:05 pm";
Date pickDate = null;
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a",Locale.US);
try{
pickDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(pickupTime);
} catch (ParseException ex){
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(pickDate);
Date time = calendar.getTime();
SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.US);
outputFmt.setTimeZone(TimeZone.getTimeZone("UTC"));
pickupTimeStr =outputFmt.format(time);
System.out.println(outputFmt.format(time));
}
【问题讨论】:
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
您的代码有效吗?如果不是,它究竟是如何行为不端的?请逐字引用预期结果、观察结果和任何错误消息。以便我们能够为您提供帮助。