在 java 中如何实现从 12 小时制转换为 24 小时制?

在我的应用程序中,我需要将 12 hours 时间格式化为 24 hours 时间。我必须使用什么方法?

例如,像 10:30 AM 这样的时间。我怎样才能在java中转换为24小时制?

原文由 koti 发布,翻译遵循 CC BY-SA 4.0 许可协议


回答:

尝试这个:

 import java.text.SimpleDateFormat;

import java.util.Date;

public class Main {

public static void main(String [] args) throws Exception {

SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");

SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");

Date date = parseFormat.parse("10:30 PM");

System.out.println(parseFormat.format(date) + " = " + displayFormat.format(date));

}

}

产生:

 10:30 PM = 22:30

请参阅:http: //download.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html

原文由 Bart Kiers 发布,翻译遵循 CC BY-SA 3.0 许可协议


回答:

java.time

在 Java 8 及更高版本中,可以使用类 java.time.LocalTime 在一行中完成。

在格式化模式中,小写字母 hh 表示12小时制,而大写字母 HH 表示24小时制。

代码示例:

 String result =                                       // Text representing the value of our date-time object.

LocalTime.parse( // Class representing a time-of-day value without a date and without a time zone.

"03:30 PM" , // Your `String` input text.

DateTimeFormatter.ofPattern( // Define a formatting pattern to match your input text.

"hh:mm a" ,

Locale.US // `Locale` determines the human language and cultural norms used in localization. Needed here to translate the `AM` & `PM` value.

) // Returns a `DateTimeFormatter` object.

) // Return a `LocalTime` object.

.format( DateTimeFormatter.ofPattern("HH:mm") ) // Generate text in a specific format. Returns a `String` object.

;

在 IdeOne.com 上查看此代码的实时运行。

15:30

请参阅 Oracle 教程。

原文由 Cloud 发布,翻译遵循 CC BY-SA 4.0 许可协议

以上是 在 java 中如何实现从 12 小时制转换为 24 小时制? 的全部内容, 来源链接: utcz.com/p/944841.html

回到顶部