如何在 Java 中获取当前的日期时间

  1. LocalDateTime.now() 在 Java 中获取当前日期和时间的方法
  2. ZonedDateTime.now() 在 Java 中获取带有时区的当前日期和时间
  3. Calendar.getinstance() 在 Java 中获取当前日期和时间

我们将介绍 Java 中可以获取当前日期时间的各种方法。我们将看到详细的例子,以便更好地理解事情。

LocalDateTime.now() 在 Java 中获取当前日期和时间的方法

我们可以使用 LocaleDateTime 类的 now() 方法获得当前的日期-时间。它以 YYYY-MM-DD-hh-mm-ss.zz 格式返回日期和时间,比如 2020-09-22T14:39:33.889798

为了使它更容易阅读,我们将使用 DateTimeFormatter.ofPattern(pattern),它需要一个日期-时间模式,我们可以根据我们的需要定制。


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

public class Main {
    public static void main(String[] args) {

        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
        System.out.println("yyyy/MM/dd HH:mm:ss-> "+dtf.format(LocalDateTime.now()));

        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yy/MM/dd HH:mm:ss");
        System.out.println("yy/MM/dd HH:mm:ss-> "+dtf2.format(LocalDateTime.now()));

        DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MMMM/dd HH:mm:ss");
        System.out.println("yyyy/MMMM/dd HH:mm:ss-> "+dtf3.format(LocalDateTime.now()));

        DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
        System.out.println("yyyy/MM/dd HH:mm-> "+dtf4.format(LocalDateTime.now()));

        DateTimeFormatter dtf5 = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm");
        System.out.println("yyyy/MM/dd hh:mm:ss-> "+dtf5.format(LocalDateTime.now()));
    }
}

输出:

yyyy/MM/dd HH:mm:ss-> 2020/09/22 15:07:01
yy/MM/dd HH:mm:ss-> 20/09/22 15:07:01
yyyy/MMMM/dd HH:mm:ss-> 2020/September/22 15:07:01
yyyy/MM/dd HH:mm-> 2020/09/22 15:07
yyyy/MM/dd hh:mm:ss-> 2020/09/22 03:07

ZonedDateTime.now() 在 Java 中获取带有时区的当前日期和时间

时区是日期和时间的一个重要部分,我们可以使用 ZonedDateTime.now() 来获取带有时区的日期时间。我们可以使用 ZonedDateTime.now() 获得带有时区的日期时间。

这还不是全部,因为我们可以通过在 ZonedDateTime.now() 中传递 ZoneId 参数来获得每个时区的时间。

请看下面的例子。

import java.time.ZonedDateTime;

public class Main {
    public static void main(String[] args) {
      
        System.out.println(ZonedDateTime.now());
      
       System.out.println("Get current timezone "+ZonedDateTime.now().getZone());
        
        System.out.println("Get time of different timezone: "+ZonedDateTime.now(ZoneId.of("America/New_York")));

    }
}

输出:

2020-09-22T15:53:32.635585+05:30[Asia/Kolkata]
Get current timezone Asia/Kolkata
Get time of different timezone: 2020-09-22T06:23:32.643391-04:00[America/New_York]

Calendar.getinstance() 在 Java 中获取当前日期和时间

另一种获取当前日期/时间的方法是使用 Calendar.getInstance() 返回一个带有当前日期和时间的 Calendar 对象,可以使用 getTime() 方法将其转换为 Date/Time 格式。

我们可以看到示例中显示了日期时间。


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
      
 String timeStamp = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime());

        System.out.println(timeStamp);
    }
}

输出:

2020/09/22 15:59:45

相关文章 - Java Date

  • 如何在 Java 中把字符串日期转换为时间戳
  • comments powered by Disqus