栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中常用的几种时间类以及应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中常用的几种时间类以及应用

目录

前言

一、简单的Date和Calendar类

Date类

接下来认识一下Calendar类

二、DateFormat和SimpleDateFormat

1.DateFormat类

2.SimpleDateFormat类

总结



前言

今天在上培训课程中,指导老师要求我们写一个关于输入和输出时间的代码,由于上学期间没怎么写关于这方面的内容,所以导致有点陌生,所以借此机会来和大家一起学习一下。

一、简单的Date和Calendar类

Date类

Date类可以获取当前的系统日期,如下代码所示

public class DateDemo1 {
    public static void main(String[] args){
        Date date=new Date();
        System.out.println(date);
    }
}

运行结果如下图所示

可以发现日期已经输出,但是这个格式缺不符合国人的审美,所以下面我将会讲解到如何使它变得对我们友好,但是现在先让我们看一下如何将Date转换为1970年1月1日0点到目前时间所经历的毫秒数

import java.util.Date;

public class DateDemo1 {
    public static void main(String[] args){
        long cur=System.currentTimeMillis();//获取当前的时间(从1970年1月1日0点到现在的毫秒数)
        Date date=new Date(cur);//将long转换为Date,这是Date类的有参构造函数
        System.out.println(date);
        System.out.println(date.getTime());//getTime方法可以date对象转化为long类型的毫秒数
    }
}

输出结果如下所示

接下来认识一下Calendar类

Calendar类是一个抽象类,实际应用中需要调用它的常用子类GregorianCalendar类,由于Calendar在开发中输出时间代码量较大所以不常用,下面就举一个简单的例子来介绍一下吧

 运行结果如下

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

public class DateDemo1 {
    public static void main(String[] args){
        Calendar calendar=new GregorianCalendar();//实例化
        System.out.println("年:"+calendar.get(Calendar.YEAR));//年
        System.out.println("月:"+(calendar.get(Calendar.MONTH)+1));//注意这里的月份是从0开始的,所以要+1
        System.out.println("日:"+calendar.get(Calendar.DAY_OF_MONTH));//日
        System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));//时
        System.out.println("分:"+calendar.get(Calendar.MINUTE));//分
        System.out.println("秒:"+calendar.get(Calendar.SECOND));//秒
        System.out.println("毫秒:"+calendar.get(Calendar.MILLISECOND));//毫秒
    }
}

运行结果如下

 

二、DateFormat和SimpleDateFormat

1.DateFormat类

代DateFormat是一个抽象类,需要使用其中的静态方法来获取实例,例子如下

import java.util.Locale;

public class DateDemo1 {
    public static void main(String[] args){
        DateFormat df1=null;
        df1=DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));
        DateFormat df2=null;
        df2=DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN"));
        System.out.println(df1.format(new Date()));
        System.out.println(df2.format(new Date()));
    }
}

运行结果如下

 

 

2.SimpleDateFormat类

SimpleDateFormat不仅是DateFormat的子类,而且还是最常见的日期转换类,开发中经常要使用到,下面通过一个例子来学习其用法

import java.text.ParseException;
import java.text.SimpleDateFormat;

import java.util.Date;


public class DateDemo1 {
    public static void main(String[] args) throws ParseException {
        String strDate="2022-07-14 22:41:05.999"; //假设这是从网页端获取到的时间,一般都是String类型
        String pat1="yyyy-MM-dd HH:mm:ss.SSS";//定义第一个模板
        String pat2="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒";//定义第二个模板
        SimpleDateFormat sdf1=new SimpleDateFormat(pat1);//实例化模板对象
        SimpleDateFormat sdf2=new SimpleDateFormat(pat2);//实例化对象
        Date date=sdf1.parse(strDate);//将String对象转换为Date对象,这是开发中经常使用的
        System.out.println(date);
        System.out.println(sdf2.format(date));//将Date对象按照指定格式转换为String类型

    }
}

运行结果如下


 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了一些常用的Java时间的使用,希望能够帮助到大家

暑期编程PK赛 得CSDN机械键盘等精美礼品!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号