我想格式化包含多個日期/時間模式的字符串。例如:如何在Java中使用多個日期格式化字符串
'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d
這裏我想在同一個格式字符串中使用兩個日期,一個開始日期和一個結束日期。我不想將它分成兩個字符串,因爲在其他語言中,句子的排序和結構可能不同,我不想在我的代碼中加入任何假設。據我所知,這不能用SimpleDateFormat來完成,因爲format()方法只取一個日期對象。
我想格式化包含多個日期/時間模式的字符串。例如:如何在Java中使用多個日期格式化字符串
'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d
這裏我想在同一個格式字符串中使用兩個日期,一個開始日期和一個結束日期。我不想將它分成兩個字符串,因爲在其他語言中,句子的排序和結構可能不同,我不想在我的代碼中加入任何假設。據我所知,這不能用SimpleDateFormat來完成,因爲format()方法只取一個日期對象。
您可以使用java.text.MessageFormat有方法來提供您需要的數據格式。
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
arguments);
完美地工作,謝謝。 – 2013-04-12 19:05:05
http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#dt,例如:
Date today = new Date();
Date yesterday = new Date();
yesterday.setTime(today.getTime() - (1000*60*60*24));
System.out.printf("Yesterday was: %ta, today is: %ta%n ", yesterday, today);
輸出
Yesterday was: Thu, today is: Fri
可能有興趣在[喬達-時間](http://joda-time.sourceforge.net/) – Coffee 2013-04-05 16:38:19