你好,我有一个24小时格式的日期和时间字符串,但我希望它在12小时内如何做到这一点,我的字符串是
String date_st="12 Nov, 2014 23:13"
我正在这样做
SimpleDateFormat dateformat = new SimpleDateFormat("dd' 'MMM,' 'yyyy HH:mm aa");
但它没有按照我的需要进行转换,它显示23:13 PM
我想以以下格式显示
String con_date= "12 Nov, 2014 11:13 PM"
我该怎么做?
您需要两种格式:一种用于解析,另一种用于格式化。你需要从解析String
到Date
一个DateFormat
,然后格式化Date
成String
与其他格式。
目前,您的单曲SimpleDateFormat
介于两者之间-您拥有HH
24小时制,但您也拥有aa
AM / PM。你想HH
不aa
输入,并hh
与该aa
输出。(这几乎是从来没有适当兼得HH
及aa
。)
TimeZone utc = TimeZone.getTimeZone("etc/UTC");
DateFormat inputFormat = new SimpleDateFormat("dd MMM, yyyy HH:mm",
Locale.US);
inputFormat.setTimeZone(utc);
DateFormat outputFormat = new SimpleDateFormat("dd MMM, yyyy hh:mm aa",
Locale.US);
outputFormat.setTimeZone(utc);
Date date = inputFormat.parse(input);
String output = outputFormat.format(date);
请注意,我将语言环境设置为US,以便它始终可以解析“ Nov”,并将时区解析为UTC,因此您不必担心某些时间被跳过或模棱两可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句