簡體   English   中英

在Java中使用SimpleDateFormat進行時間格式化

[英]Time formatting using SimpleDateFormat in java

我的要求是以hh:mm格式在網頁上顯示日期。 但是,如果它是1位數,則不應在小時值之前顯示零。

例如-它應顯示為:11:30 AM,9:15 AM,1:00 PM。

我試圖解決此問題,但這里唯一的問題是從1位數的小時值中刪除多余的0。

輸入時間的格式為hh:mm:ss

日期值最初是一個字符串。 首先以以下格式將其解析為日期-

final SimpleDateFormat dfParse = new SimpleDateFormat("HH:mm:ss");
startTimeFmt = dfParse.parse(startTime);

然后將其格式化為以下格式-

final SimpleDateFormat dfFormat = new SimpleDateFormat("hh:mm a");
startTime = dfFormat.format(startTimeFmt);

嘗試這個:

Date date = new SimpleDateFormat("hh:mm:ss").parse("07:15:45");
String newDate = new SimpleDateFormat("h:mm a").format(date);

這將在7:15 AM打印

嘗試這個

DateFormat formatter = new SimpleDateFormat("h:mm:ss a", Locale.US);
System.out.println(formatter.format(new Date()));

您是否嘗試過h:mm格式?

從文檔( http://pages.cs.wisc.edu/~cs368-2/JavaTutorial/jdk1.2/api/java/text/SimpleDateFormat.html ):

Examples Using the US Locale:

Format Pattern                         Result
--------------                         -------
"yyyy.MM.dd G 'at' hh:mm:ss z"    ->>  1996.07.10 AD at 15:08:56 PDT
"EEE, MMM d, ''yy"                ->>  Wed, July 10, '96
"h:mm a"                          ->>  12:08 PM
"hh 'o''clock' a, zzzz"           ->>  12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                       ->>  0:00 PM, PST
"yyyyy.MMMMM.dd GGG hh:mm aaa"    ->>  1996.July.10 AD 12:08 PM

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM