Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中格式化包含多个日期的字符串_Java_Localization_Date Formatting - Fatal编程技术网

如何在Java中格式化包含多个日期的字符串

如何在Java中格式化包含多个日期的字符串,java,localization,date-formatting,Java,Localization,Date Formatting,我想格式化一个包含多个日期/时间模式的字符串。例如: 'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d Date today = new Date(); Date yesterday = new Date(); yesterday.setTime(today.getTime() - (1000*60*60*24) ); System.out.printf( "Yesterday was: %ta, toda

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

'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d
    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 );
在这里,我尝试使用两个相同格式字符串的日期,一个开始日期和一个结束日期。我不想把它分成两个字符串,因为句子的顺序和结构在其他语言中可能不同,我不想在代码中加入任何假设。据我所知,SimpleDataFormat无法实现这一点,因为format()方法只接受一个日期对象。

您可以使用它提供所需的数据格式

String result = MessageFormat.format(
     "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
     arguments);
您可以使用它来提供所需的数据格式

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

'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d
    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
例如,见:

'Starting on' EEEE 'at' h:mm a 'and ending on' MMM d
    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
可能对…感兴趣可能对…感兴趣