Java 获取当前日期时间

Java 当前日期时间教程介绍了各种 Java 类,以获取 Java 中的当前日期时间。

有几种方法可以获取 Java 中的当前日期和时间。 Java 程序员可以使用 Java 8(java.time)中引入的现代日期和时间 API,经典的,过时的 API(java.util)和第三方 Joda 库。

使用java.time的当前日期和时间

java.time软件包包含日期,时间,瞬间和持续时间的主要 API。 它是对过时的java.util日期和时间 API 的现代替代。

使用Instant获取当前日期和时间

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()方法从系统时钟获取当前时刻。

使用LocalDateTime获取当前日期和时间

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()方法从系统时钟以默认时区获取当前日期时间。

使用ZonedDateTime获取当前日期和时间

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()方法从系统时钟以默认时区获取当前日期时间。

使用Clock获取当前日期和时间

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的当前日期和时间

java.utilDateCalendar)中可用的类被认为已过时。 这是原始的 Java 日期和时间 API。

使用Date获取当前日期和时间

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对其进行格式化。

使用Calendar获取当前日期和时间

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 时间库的当前日期和时间

Joda time 是第三方日期和时间库,用于替换过时的 JDK 日期时间 API。

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.9.9</version>
</dependency>

我们需要joda-time依赖性。

使用 Joda LocalDateTime获取当前日期和时间

org.joda.time.LocalDateTime是不可修改的 datetime 类,表示没有时区的日期时间。

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对其进行格式化。

使用 Joda DateTime获取当前日期和时间

org.joda.time.DateTime是不可修改的 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 中的当前日期和时间。

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Java 教程