原文:http://zetcode.com/articles/javacurrentdatetime/
Java 当前日期时间教程介绍了各种 Java 类,以获取 Java 中的当前日期时间。
有几种方法可以获取 Java 中的当前日期和时间。 Java 程序员可以使用 Java8(java.time
)中引入的现代日期和时间 API,经典的,过时的 API(java.util
)和第三方 Joda 库。
java.time
包包含日期,时间,瞬间和持续时间的主要 API。 它是对过时的java.util
日期和时间 API 的现代替代。
java.time.Instant
在时间轴上模拟单个瞬时点。 这可用于记录应用中的事件时间戳。
JavaCurrentDateInstant.java
package com.zetcode;
import java.time.Instant;
public class JavaCurrentDateInstant {
public static void main(String[] args) {
Instant instant = Instant.now();
System.out.println(instant);
}
}
该代码示例使用java.time.Instant
获取当前日期和时间。
Instant instant = Instant.now();
Instant.now()
方法从系统时钟获取当前时刻。
java.time.LocalDateTime
创建不带时区的日期时间。
JavaCurrentDateLocalDateTime.java
package com.zetcode;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class JavaCurrentDateLocalDateTime {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
System.out.println(dtf.format(now));
}
}
该示例使用java.time.LocalDateTime
获取当前日期时间,并使用java.time.format.DateTimeFormatter
对其进行格式化。
LocalDateTime now = LocalDateTime.now();
LocalDateTime.now()
方法从系统时钟以默认时区获取当前日期时间。
java.time.ZonedDateTime
是带有时区的日期时间的不变表示。
JavaCurrentDateTimeZonedDateTime.java
package com.zetcode;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class JavaCurrentDateTimeZonedDateTime {
public static void main(String[] args) {
ZonedDateTime now = ZonedDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
System.out.println(dtf.format(now));
}
}
该示例使用java.time.ZonedDateTime
获取当前日期时间,并使用java.time.format.DateTimeFormatter
对其进行格式化。
ZonedDateTime now = ZonedDateTime.now();
ZonedDateTime.now()
方法从系统时钟以默认时区获取当前日期时间。
java.time.Clock
使用时区提供对当前时刻,日期和时间的访问。
JavaCurrentDateTimeClock.java
package com.zetcode;
import java.time.Clock;
import java.time.Instant;
public class JavaCurrentDateTimeClock {
public static void main(String[] args) {
Clock clock = Clock.systemDefaultZone();
Instant now = clock.instant();
System.out.println(now);
}
}
该示例使用java.time.Clock
获取当前日期时间。
Clock clock = Clock.systemDefaultZone();
Clock.systemDefaultZone()
方法获得一个时钟,该时钟使用最佳可用系统时钟返回当前时刻,并使用默认时区转换为日期和时间。
java.util
(Date
和Calendar
)中可用的类被认为已过时。 这是原始的 Java 日期和时间 API。
java.util.Date
表示特定的时间瞬间,精度为毫秒。
JavaCurrentDateTimeDate.java
package com.zetcode;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class JavaCurrentDateTimeDate {
public static void main(String[] args) {
Date now = new Date();
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(df.format(now));
}
}
该示例使用java.util.Date
获取当前日期时间,并使用java.text.SimpleDateFormat
对其进行格式化。
java.util.Calendar
表示特定的时间瞬间,精度为毫秒。
JavaCurrentDateTimeCalendar.java
package com.zetcode;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class JavaCurrentDateTimeCalendar {
public static void main(String[] args) {
Date now = Calendar.getInstance().getTime();
DateFormat df = new SimpleDateFormat("yyyy-MM-d HH:mm:ss");
System.out.println(df.format(now));
}
}
该示例使用java.util.Calendar
获取当前日期时间,并使用java.text.SimpleDateFormat
对其进行格式化。
Joda time 是第三方日期和时间库,用于替换过时的 JDK 日期时间 API。
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency>
我们需要joda-time
依赖项。
org.joda.time.LocalDateTime
是不可修改的日期时间类,表示没有时区的日期时间。
JavaCurrentDateTimeJoda.java
package com.zetcode;
import org.joda.time.LocalDateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class JavaCurrentDateTimeJoda {
public static void main(String[] args) {
LocalDateTime ldt = new LocalDateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy, MMMM dd, HH:mm:ss");
String str = fmt.print(ldt);
System.out.println(str);
}
}
该示例使用org.joda.time.LocalDateTime
获取当前日期时间,并使用org.joda.time.format.DateTimeFormatter
对其进行格式化。
org.joda.time.DateTime
是不可修改的日期时间类的标准实现。
JavaCurrentDateTimeJoda2.java
package com.zetcode;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class JavaCurrentDateTimeJoda2 {
public static void main(String[] args) {
DateTime dt = DateTime.now();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy, MMMM dd, HH:mm:ss");
String str = fmt.print(dt);
System.out.println(str);
}
}
该示例使用org.joda.time.DateTime
获取当前日期时间,并使用org.joda.time.format.DateTimeFormatter
对其进行格式化。
在本教程中,我们展示了如何获取 Java 中的当前日期和时间。 您可能也对相关教程感兴趣: Java HashSet
教程, Java HashMap
教程, Java 中的HashMap
迭代, Java static
关键字 , Java Swing 教程, Java 教程,用 Java 显示图像。