Java常用类之日期相关类使用详解

目录
  • 日期相关类
    • 1.Date类
    • 2.DateFormat类
    • 3.Calendar类

日期相关类

1.Date类

在标准Java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到毫秒。在网上商城下单时,在对报销单进行审核时,都需要获取当前的时间,通过Date类就可以完成。

例子:Date类的使用

package li.normalclass.date;

import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        //获取当前的时间 格式为 yyyyMMddhhmmss
        Date date = new Date();//相当于new Date(System.currentTimeMillis())
        //操作当前的时间
        System.out.println(date.toString());//Sat Aug 06 19:15:28 CST 2022
        System.out.println(date.toLocaleString());//2022-8-6 19:16:06
        System.out.println(System.currentTimeMillis());//计算从1970年1月1日 0:00:00到目前为止的毫秒数
        System.out.println(date.getYear());//122  =2022-1900
        System.out.println(date.getMonth());//7   0-11   现在是八月
        System.out.println(date.getDate());//6 日
        System.out.println(date.getDay());//6   当前为星期六   注:星期日为0
        System.out.println(date.getHours());//19    当前为19点
        System.out.println(date.getMinutes());//26  当前为26分
        System.out.println(date.getSeconds());//16  当前为16秒
        System.out.println(date.getTime());//1659785176358  计算从1970年1月1日 0:00:00到目前为止的毫秒数

        //获取当前的时间 格式为 yyyyMMdd
        java.sql.Date sdate = new java.sql.Date(System.currentTimeMillis());
        System.out.println(sdate.toString());//2022-08-06

        java.sql.Date sdate2 = java.sql.Date.valueOf("1896-9-10");
        System.out.println(sdate2.toString());//1896-09-10

    }
}

查看API文档大家可以看到其实Date类中的很多方法已经过时了。JDK1.1之前的Date包含了日期操作、字符串转化为对象等操作。经过JDK1.1之后,日期操作类一般使用Calendar类,而字符串的转化 使用DateFormat类。

2.DateFormat类

Format:格式

DateFormat是一个抽象类,一般使用它的子类SimpleDateFormat类来实现。主要作用就是把时间对象转化为指定格式的字符串。反之,就是把指定格式的字符串转化为时间对象。

字符串----->日期

日期----->字符串

例子:

package li.normalclass.date;

import java.text.*;
import java.util.Date;

/**
 * 主要操作:
 *   DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
 *
 *   Date date = sdf.parse(strdate);//将字符串转换成日期
 *
 *   String strdate2 = sdf.format(date);//将日期转换成字符串
 */
public class TestDateFormat {
    public static void main(String[] args) throws ParseException {
        String strdate = "1999-12-23 12:12:12";//字符串

        //String---->Date
        //DateFormat是抽象类,要实例化只能引用它的子类SimpleDateFormat
        DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
        Date date = sdf.parse(strdate);//将字符串转换成日期

        String strdate2 = sdf.format(date);//将日期转换成字符串
        System.out.println(strdate2);

    }
}

3.Calendar类

Calendar:日历

例子:

package li.normalclass.date;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class TestCalendar {
    public static void main(String[] args) {
        //获取当前的时间
        Calendar cal = new GregorianCalendar();
        // 输出当前的时间
        System.out.println(cal);
        //java.util.GregorianCalendar[time=1659791839017,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=19,MILLISECOND=17,ZONE_OFFSET=28800000,DST_OFFSET=0]

        System.out.println(cal.get(Calendar.YEAR));//2022
        System.out.println(cal.get(Calendar.MONTH));//7   0~11  7代表8月
        System.out.println(cal.get(Calendar.DATE));//6   代表6号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//7  代表周六  从周日为1开始计算一周

        //改变时间
        cal.set(Calendar.DATE,1);//直接指定日期  1号
        cal.set(Calendar.MONTH,1);//直接指定月数  2月
        cal.add(Calendar.DATE,2);//在设置的日期上再加上两天
        System.out.println(cal.get(Calendar.YEAR));//2022 --  22年
        System.out.println(cal.get(Calendar.MONTH));//1 --  2月
        System.out.println(cal.get(Calendar.DATE));//3 --  3号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//5 -- 周四
        System.out.println(cal.getActualMaximum(Calendar.DATE));//28 -- 指定月一共有多少天
    }

}

到此这篇关于Java常用类之日期相关类使用详解的文章就介绍到这了,更多相关Java日期类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 日期和时间类的基本使用

    前言 最近在重构之前的一个老项目,其中包含一个统计模块,需要把存储在MongoDB的数据通过接口显示在后端管理系统中.这些数据大多是以时间为单位进行存储,例如:collectionName_202009collectionName_20200910,在老系统中对时间的处理使用Date类,简单了解了其中的时间工具类,深感繁琐并决定使用Java8中的LocalDateTime和LocalDate重构此代码. 基本使用 1.获取当前时间 // 2020-08-23T20:14:56.977 Local

  • JAVA日期处理类详解

    目录 Date类 构造方法 常用方法 常用方法 Calendar类 DataFormat类 常用构造方法 pattern字符串格式规则 常用方法 练习 总结 Date类 java.util.Date类表示特定的瞬间,精确到毫秒需要导包.注意,此时Date类中多个包中都存在,不要导错导. 构造方法 Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒). Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为"历元(epoch)

  • Java日期操作类常见用法示例

    本文实例讲述了Java日期操作类常见用法.分享给大家供大家参考,具体如下: 一 取出当前日期时间 1 代码 import java.time.*; public class GetDatetime { public static void main(String[] args) { // 创建时间对象,获取当前时间 LocalDateTime timePoint = LocalDateTime.now( ); // 当前时间 System.out.println("--当前时间----"

  • java8日期工具类封装的实战记录

    目录 前言 在Java 8中如何处理日期和时间 再封装 Java8新增的日期.时间包 总结 前言 java现在应该是更新到16了,想想我当年刚参加工作的时候.普遍还都是java7,那时候没有SpringBoot,没有springCloud,没有我的那个她 哈哈,扯的有点远了,拉回正题 今天我们聊聊java的日期类的一些骚操作 在Java 8中如何处理日期和时间 Java 8 中的 LocalDate 用于表示当天日期.和java.util.Date不同,它只有日期,不包含时间.当你仅需要表示日期

  • 详解Java中的日期类

    Java 编程语言中时间的处理类有 Date类与 Calendar类.目前官方不推荐使用 Date类,因为其不利于国际化:而是推荐使用 Calendar类,并使用 DateFormat 类做格式化处理. 一.Date 类介绍 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串. 不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Calenda

  • 史上最全Java8日期时间工具类(分享)

    这是我总结的Java8日期工具类,应该是比较全面的,满足日常开发绝大部分需求,分享给大家,有错误之处,还望大神指教. /** * Java8日期时间工具类 * * @author JourWon * @date 2020/12/13 */ public class LocalDateUtils { /** * 显示年月日时分秒,例如 2015-08-11 09:51:53. */ public static final String DATETIME_PATTERN = "yyyy-MM-dd

  • JAVA中的日期时间类用法总结

    前言 好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼. 提示:以下是本篇文章正文内容,下面案例可供参考 一.日期时间类的包 代码如下(示例): java.util.Date; java.time.format.DateTimeFormatter; java.util.Calendar java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.tim

  • Java常用类之日期相关类使用详解

    目录 日期相关类 1.Date类 2.DateFormat类 3.Calendar类 日期相关类 1.Date类 在标准Java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到毫秒.在网上商城下单时,在对报销单进行审核时,都需要获取当前的时间,通过Date类就可以完成. 例子:Date类的使用 package li.normalclass.date; import java.util.Date; public class TestDate { public static void m

  • Java常用面板之JScrollPane滚动面板实例详解

    在设置界面时,可能会遇到一个较小的容器窗体中显示一个较大部分的内容的情况,这时候可以使用 JScrollPane 面板. JScrollPane 面板是带滚动条的面板,它也是一种容器,但是 JScrollPane 只能放置一个组件,并不可以使用布局管理器.如果需要在 JScrollPane 面板上放置多个组件,需要将多个组件放置在 JPanel 上,然后将 JPanel 面板作为一个整体组件添加在 JScrollPane 组件上.这点大家一定要注意!下面我们通过一个实例来了解下它的使用方法和技巧

  • java日期相关类实例详解

    一.Date类 类 Date 表示特定的瞬间,精确到毫秒.用距离1970年1月1日00:00:00的毫秒数(long)类型来表示一个特定的时间点,该值可正可负. Date类中很多方法已经过时,使用Calendar来替代. 常用方法有 long getTime() void setTime(long time) public class T01Date { public static void main(String[] args) { //getTime():返回的时间是距离1970年的毫秒数.

  • Java常用类之字符串相关类使用详解

    目录 字符串相关类 1.String类的使用 2.理解String类源码 3.使用StringBuilder类 4.StringBuilder类源码 字符串相关类 String.StringBuilder.StringBuffer类是三个字符串相关类. String类代表不可变字符序列,StringBuilder类和StringBuffer类代表可变字符序列. 关于这三个类的详细的用法,在笔试和面试以及实际开发中经常能用到,我们必须掌握好它. 1.String类的使用 String的常用方法:

  • Java常用类库Apache Commons工具类说明及使用实例详解

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Con

  • 深入浅析Java常用的格式化Json工具类

    扩展:Java常用工具类汇总 前置条件 导入以下 jar 包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> <dependency> <groupId>org.apache.commons</g

  • Java常用API类之Math System tostring用法详解

    1.注意(类名不能与math重名,否则可能报错误) 1.math:可以直接拿来用的接口类 Math.abs(-90);返回参数的绝对值 Math.max(60,98)返回参数的最大值 Math.random()*100随机函数:随机输出一个数 等等 public static void main(String[] args){ int a = 1300, b = 1000; System.out.println(Math.abs(-90)); System.out.println(Math.ma

  • Java Stopwatch类,性能与时间计时器案例详解

    在研究性能的时候,完全可以使用Stopwatch计时器计算一项技术的效率.但是有时想知道某想技术的性能的时候,又常常想不起可以运用Stopwatch这个东西,太可悲了. 属性: Elapsed 获取当前实例测量得出的总运行时间. ElapsedMilliseconds  获取当前实例测量得出的总运行时间(以毫秒为单位). ElapsedTicks  获取当前实例测量得出的总运行时间(用计时器计时周期表示). IsRunning   获取一个指示 Stopwatch 计时器是否在运行的值. 方法

  • Java为实体类动态添加属性的方法详解

    目录 添加依赖 代码 测试 可以给已有实体类动态的添加字段并返回新的实体对象,不影响原来的实体对象结构. 添加依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>commons

  • Java File类的概述及常用方法使用详解

    目录 一.File类的概述和构造方法 二.File类创建功能 三.File类创建和获取功能 四.File类的删除功能 一.File类的概述和构造方法 public class File extends Object implements Serializable, Comparable< File> File:它是文件目录路径的抽象表示 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有两个组件: 一个可选的与系统

随机推荐