Java如何在Joda-Time中格式化DateTime对象?
该示例说明如何格式化日期的字符串表示形式。在Joda中,我们可以使用DateTime的classtoString()方法。该方法接受日期格式的模式和语言环境信息。
package org.nhooo.example.joda;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import java.util.Locale;
public class FormattingDemo {
//定义日期格式模式。
private static final String pattern = "E MM/dd/yyyy HH:mm:ss.SSS";
public static void main(String[] args) {
//创建一个DateTime对象的新实例。
DateTime dt = DateTime.now();
//使用定义的格式将日期打印为格式字符串
//语言环境信息。
System.out.println("Pattern = " + pattern);
System.out.println("Default = " + dt.toString(pattern));
System.out.println("Germany = " + dt.toString(pattern, Locale.GERMANY));
System.out.println("French = " + dt.toString(pattern, Locale.FRENCH));
System.out.println("Japanese = " + dt.toString(pattern, Locale.JAPANESE));
//使用DateTimeFormat类中的预定义格式。
System.out.println("fullDate = " + dt.toString(DateTimeFormat.fullDate()));
System.out.println("longDate = " + dt.toString(DateTimeFormat.longDate()));
System.out.println("mediumDate = " + dt.toString(DateTimeFormat.mediumDate()));
System.out.println("shortDate = " + dt.toString(DateTimeFormat.shortDate()));
System.out.println("dd/MM/yyyy = " + dt.toString(DateTimeFormat.forPattern("dd/MM/yyyy")));
}
}这是我们程序的示例结果:
Pattern = E MM/dd/yyyy HH:mm:ss.SSS Default = Mon 07/22/2019 13:50:28.502 Germany = Mo 07/22/2019 13:50:28.502 French = lun. 07/22/2019 13:50:28.502 Japanese = 月 07/22/2019 13:50:28.502 fullDate = Monday, July 22, 2019 longDate = July 22, 2019 mediumDate = Jul 22, 2019 shortDate = 7/22/19 dd/MM/yyyy = 22/07/2019
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=joda-time/joda-time/2.10.3/joda-time-2.10.3.jar -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.3</version>
</dependency>