# Java 程序：获取当前日期/时间

> 原文： [https://www.programiz.com/java-programming/examples/current-date-time](https://www.programiz.com/java-programming/examples/current-date-time)

#### 在此程序中，您将学习如何以 Java 格式获取当前日期和时间。

## 示例 1：以默认格式获取当前日期和时间

```java
import java.time.LocalDateTime;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        System.out.println("Current Date and Time is: " + current);
    }
}
```

运行该程序时，输出为：

```java
Current Date and Time is: 2017-08-02T11:25:44.973
```

在上述程序中，当前日期和时间使用`LocalDateTime.now()`方法以可变电流存储。

对于默认格式，只需使用`toString()`方法在内部将其从`LocalDateTime`对象转换为字符串即可。

* * *

## 示例 2：使用模式获取当前日期和时间

```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        String formatted = current.format(formatter);

        System.out.println("Current Date and Time is: " + formatted);
    }
}
```

运行该程序时，输出为：

```java
Current Date and Time is: 2017-08-02 11:29:57.401
```

在上面的程序中，我们使用`DateTimeFormatter`对象定义了`Year-Month-Day Hours:Minutes:Seconds.Milliseconds`格式的模式。

然后，我们使用了`LocalDateTime`的`format()`方法来使用给定的`formatter`。 这使我们获得格式化的字符串输出。

* * *

## 示例 3：使用预定义的常量获取当前日期时间

```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE;
        String formatted = current.format(formatter);

        System.out.println("Current Date is: " + formatted);
    }
}
```

运行该程序时，输出为：

```java
Current Date is: 20170802
```

在上面的程序中，我们使用了预定义的格式常量`BASIC_ISO_DATE`来获取当前 ISO 日期作为输出。

* * *

## 示例 4：以本地化样式获取当前日期时间

```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
        String formatted = current.format(formatter);

        System.out.println("Current Date is: " + formatted);
    }
}
```

运行该程序时，输出为：

```java
Current Date is: Aug 2, 2017 11:44:19 AM
```

在上面的程序中，我们使用了本地化样式`Medium`以给定的格式获取当前日期时间。 还有其他样式：`Full`，`Long`和`Short`。

* * *

如果您有兴趣，这里是所有[`DateTimeFormatter`模式](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html "DateTimeFormatter patterns")的列表。