Java Date类指南

一、Date类简介

Java Date类是表示特定时间点的类,它将日期和时间以毫秒为单位存储在long变量中,是Java常用的日期处理类之一。

在Java中,Date类有很多方法可以用来处理日期和时间,例如获取特定格式的时间字符串、对日期进行加减、比较日期的大小等等。

在使用Java Date类时需要注意,由于Java Date类在处理时是基于系统默认时区的,所以在跨时区的处理时需要进行时区转换。

二、创建Date对象

可以用构造函数创建Date对象,如果不指定时间,则会自动设置为当前时间。

//不指定时间,自动设置为当前时间
Date now = new Date();
//指定时间,参数为时间戳
Date time = new Date(1606780800000L);

三、格式化Date对象

可以将Date对象格式化为特定格式的时间字符串,主要通过SimpleDateFormat类实现。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(new Date());
System.out.println(strDate); // 2020-12-01 12:00:00

四、对日期进行加减

可以使用Calendar类将日期进行加减。

//获取Calendar对象
Calendar calendar = Calendar.getInstance();
//将日历设置为当前时间
calendar.setTime(new Date()); 
//在当前日期上加减
calendar.add(Calendar.HOUR, 2);
Date newDate = calendar.getTime();

五、日期比较

可以通过Date的compareTo方法比较两个日期的大小。

Date date1 = new Date();
Date date2 = new Date(System.currentTimeMillis() + 10000);
int diff = date1.compareTo(date2);
// diff  0, date1在date2之后
// diff = 0,两个日期相同

六、时间戳与Date转换

时间戳是指自1970年1月1日00:00:00以来的毫秒数,可以将时间戳转换为Date格式。

long timeStamp = 1606780800000L;
Date date = new Date(timeStamp);

也可以将Date格式转换为时间戳。

Date date = new Date();
long timeStamp = date.getTime();

七、附脚本示例代码

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

public class DateDemo {
    public static void main(String[] args) {
        //不指定时间,自动设置为当前时间
        Date now = new Date();
        //指定时间,参数为时间戳
        Date time = new Date(1606780800000L);
        
        //将日期格式化为特定格式的时间字符串
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String strDate = sdf.format(new Date());
        System.out.println(strDate); // 2020-12-01 12:00:00
        
        //对日期进行加减
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date()); //设置为当前时间
        calendar.add(Calendar.HOUR, 2);
        Date newDate = calendar.getTime();
        
        //比较日期大小
        Date date1 = new Date();
        Date date2 = new Date(System.currentTimeMillis() + 10000);
        int diff = date1.compareTo(date2);
        // diff  0, date1在date2之后
        // diff = 0,两个日期相同
        
        //时间戳与Date转换
        long timeStamp = 1606780800000L;
        Date date = new Date(timeStamp);
        Date date = new Date();
        long timeStamp = date.getTime();
    }
}

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

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

相关推荐

  • java client.getacsresponse 编译报错解决方法

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

    编程 2025-04-29
  • Java JsonPath 效率优化指南

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

    编程 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和GO应用实践指南

    本文将从多个角度详细阐述运维Python和GO的实际应用,包括监控、管理、自动化、部署、持续集成等方面。 一、监控 运维中的监控是保证系统稳定性的重要手段。Python和GO都有强…

    编程 2025-04-29
  • Python应用程序的全面指南

    Python是一种功能强大而简单易学的编程语言,适用于多种应用场景。本篇文章将从多个方面介绍Python如何应用于开发应用程序。 一、Web应用程序 目前,基于Python的Web…

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

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

    编程 2025-04-29
  • Python wordcloud入门指南

    如何在Python中使用wordcloud库生成文字云? 一、安装和导入wordcloud库 在使用wordcloud前,需要保证库已经安装并导入: !pip install wo…

    编程 2025-04-29
  • Python小波分解入门指南

    本文将介绍Python小波分解的概念、基本原理和实现方法,帮助初学者掌握相关技能。 一、小波变换概述 小波分解是一种广泛应用于数字信号处理和图像处理的方法,可以将信号分解成多个具有…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29

发表回复

登录后才能评论