Java程序获取当前时间

一、通过Date类获取当前时间

Java程序可以使用Date类获取当前系统时间,可以获得时间的毫秒数。

    Date date = new Date();
    System.out.println(date);

输出结果为:

    Wed Nov 25 11:56:27 CST 2020

通过Date对象的toString()方法,可以将系统时间格式化为字符串类型。

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String currentTime = sdf.format(date);
    System.out.println(currentTime);

输出结果为:

    2020-11-25 11:56:27

二、通过Calendar类获取当前时间

Java程序还可以使用Calendar类获取当前系统时间,可以更加方便的获取年、月、日、时、分、秒等具体时间。

    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH) + 1;
    int day = calendar.get(Calendar.DATE);
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    int minute = calendar.get(Calendar.MINUTE);
    int second = calendar.get(Calendar.SECOND);
    System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);

输出结果为:

    2020-11-25 12:13:35

三、通过Instant类获取当前时间

Java程序还可以使用Java 8中的新时间API(包括Instant类和LocalDateTime类)获取当前系统时间,使用起来更加简单。

    Instant instant = Instant.now();
    System.out.println(instant);

输出结果为:

    2020-11-25T04:19:27.693Z

Instant可以通过atZone()方法转换为本地时间,使用toLocalDateTime()方法可以转换为LocalDateTime对象。

    ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
    System.out.println(zonedDateTime);
    LocalDateTime localDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
    System.out.println(localDateTime);

输出结果为:

    2020-11-25T12:06:04.635+08:00[Asia/Shanghai]
    2020-11-25T12:06:04.635

四、当地时间和UTC时间的转换

如果需要将当地时间转换为UTC时间,可以使用Java 8提供的新时间API中的ZoneOffset类。

    LocalDateTime localDateTime = LocalDateTime.now();
    System.out.println(localDateTime);
    ZoneOffset offset = OffsetDateTime.now().getOffset();
    // 获得本地时间与UTC时间的偏差
    System.out.println(offset);
    Instant instant = localDateTime.toInstant(offset);
    // 转换为UTC时间
    System.out.println(instant);

输出结果为:

    2020-11-25T12:34:11.743
    +08:00
    2020-11-25T04:34:11.743Z

五、获取时间戳

Java程序还可以使用System类获取时间戳,可以获得当前时间与1970年1月1日00:00:00之间的毫秒数或秒数。

    long timestampInMillis = System.currentTimeMillis();
    System.out.println(timestampInMillis + "ms");
    long timestampInSeconds = timestampInMillis / 1000;
    System.out.println(timestampInSeconds + "s");

输出结果为:

    1606277658455ms
    1606277658s

六、总结

本文介绍了Java程序获取当前时间的几种常用方法,包括使用Date类、Calendar类、Instant类以及System类等。通过这些方式,可以获得当前系统时间、当地时间和UTC时间的转换、以及时间戳等。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/257568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:45
下一篇 2024-12-15 12:45

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29

发表回复

登录后才能评论