【问题标题】:How to format a String with multiple dates in Java如何在 Java 中格式化具有多个日期的字符串
【发布时间】:2013-03-28 04:05:17
【问题描述】:

我想格式化一个包含多个日期/时间模式的字符串。例如:

'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d

这里我尝试使用相同格式字符串中的两个日期,一个开始日期和一个结束日期。我不想把它分成两个字符串,因为句子的顺序和结构在其他语言中可能不同,我不想在我的代码中加入任何假设。据我所知,这不能用 SimpleDateFormat 完成,因为 format() 方法只接受一个日期对象。

【问题讨论】:

标签: java localization date-formatting


【解决方案1】:

您可以使用java.text.MessageFormat,它可以提供您需要的数据格式。

String result = MessageFormat.format(
     "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
     arguments);

【讨论】:

    【解决方案2】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-14
      • 2012-06-18
      • 2014-09-05
      • 2014-06-28
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多