专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

时间(Date类、DateFormat类、Calendar类)

1、Date类

(1)时间原点:

时间原点是1970年1月1日00:00:00

(2)构造方法:

Date类的构造方法一共有六个,其中四个已经过时:

空参的构造方法,获取当前操作系统的日期和时间:

35_1.png

有参数的构造方法,将对应的毫秒值转化为日期和时间:

35_2.png

将Date自元年开始表示的日期转化为毫秒值:

35_3.png

将毫秒值转化为日期:

35_4.png

打印Date对象时默认调用此方法:

35_5.png

(3)方法的运用:

import java.util.Date;
public class DateDemo {
    public static void main(String[] args) {
        Date date = new Date(0);// 毫秒值为0,即元年
        System.out.println("date类元年为:" + date);
        Date date1 = new Date(12345678912345L);// 毫秒值
        System.out.println("date类元年后的12345678912345毫秒为:" + date1);
        Date date2 = new Date();
        System.out.println("现在的时间为:" + date2.getTime() + "毫秒");
        System.out.println("现在的时间为:" + date2.toString());
    }
}

35_6.png

从运行结果来看date类的元年为:1970年1月1日08:00:00,不是1970年1月1日00:00:00,是因为中国是东八区,所以要加上8个小时。

2、DateFormat类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。

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

public class DateFormatDemo {
    public static void main(String[] args) throws ParseException {
        Date date2 = new Date();
        System.out.println("现在的时间为:" + date2.getTime() + "毫秒");
        System.out.println("现在的时间为:" + date2.toString()); Date date = new Date(date2.getTime()); DateFormat df = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");// 对日期进行格式化 String str_time = df.format(date); System.out.println(str_time);// 把Date对象转换成String String str = "2019年7月9日"; DateFormat df1 = new SimpleDateFormat("yyyy年MM月dd日"); Date date1 = df1.parse(str);//parse: 从给定字符串的开始解析文本,以生成一个日期。 System.out.println(date1); } }

35_7.png

3、Calendar类

Calendar类:是日历类,有很多静态方法。

import java.util.Calendar;
import java.util.Date;
public class Calendardemo {
    public static void main(String[] args) {
        //Calendar类的方法getTime()
        Calendar c1 = Calendar.getInstance();//不需要直接new 子类的对象,通过静态方法直接获取
        Date date = c1.getTime();//把日历对象,转成Date日期对象
        System.out.println(date);

        Calendar c2 = Calendar.getInstance();
        c2.add(Calendar.DAY_OF_MONTH, -300);// 让日历中的天数向后偏移300天
        int year = c2.get(Calendar.YEAR);//年
        int month = c2.get(Calendar.MONTH) + 1;//月,月份从零开始,所以月份要加1
        int day = c2.get(Calendar.DAY_OF_MONTH);//日
        System.out.println(year + "年" + month + "月" + day + "日"); Calendar c3 = Calendar.getInstance(); c3.set(2099, 4, 1); int year1 = c3.get(Calendar.YEAR);//年 int month1 = c3.get(Calendar.MONTH) + 1;//月 int day1 = c3.get(Calendar.DAY_OF_MONTH);//日 System.out.println(year1 + "年" + month1 + "月" + day1 + "日"); Calendar c4 = Calendar.getInstance(); int year2 = c4.get(Calendar.YEAR);//年 int month2 = c4.get(Calendar.MONTH) + 1;//月 int day2 = c4.get(Calendar.DAY_OF_MONTH);//日 System.out.println(year2 + "年" + month2 + "月" + day2 + "日"); Calendar c5= Calendar.getInstance(); System.out.println("年:" + c5.get(Calendar.YEAR)); System.out.println("月:" + (c5.get(Calendar.MONTH) + 1)); System.out.println("日:" + c5.get(Calendar.DAY_OF_MONTH)); System.out.println("时:" + c5.get(Calendar.HOUR_OF_DAY)); System.out.println("分:" + c5.get(Calendar.MINUTE)); System.out.println("秒:" + c5.get(Calendar.SECOND)); } }

35_8.png

最大的特点是可以分别获取:年月日时分秒

文章永久链接:https://tech.souyunku.com/22662

未经允许不得转载:搜云库技术团队 » 时间(Date类、DateFormat类、Calendar类)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们