将字符串转换为上午/下午格式的日期和时间

2022-01-13 00:00:00 datetime timestamp java
 string : 2014-04-25 17:03:13

使用 SimpleDateFormat 格式化就够了?或者否则我会转向任何新的 API?

using SimpleDateFormat is enough to format? or otherwise i will shift to any new API?

Date date = new Date(string);
DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd");
out.println( dateFormat.format (date));

我的预期结果是(印度区):

My expected result is (India zone):

Date : 25-04-2014
Time : 05:03 PM

推荐答案

记住 Date 对象没有固有格式,你需要两个 DateFormat 对象来产生你想要的结果seek - 一个解析,另一个格式化:

Remembering that Date objects have no inherent format, you need two DateFormat objects to produce the result you seek - one to parse and another to format:

String input = "2014-04-25 17:03:13";
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("'Date : 'dd-MM-yyyy
'Time : 'KK:mm a");
System.out.println(outputFormat.format(inputFormat.parse(input)));

输出:

Date : 25-04-2014
Time : 05:03 PM

注意格式中引用的序列的使用,例如 "'Date : '",它在格式模式中被视为文字.

Note the use of quoted sequences in the format, such a "'Date : '", which is treated as a literal within the format pattern.

相关文章