Java基础【Date日期】


前言

🔺:本文适合喜欢变成编程,但头发还是很茂盛的人群。

本文讲解java基础的Date方法,是util包类下的,而不是sql包类(sql用与对数据库进行访问连接时使用),废话不多说,开稿:


🔺:以下正文,开始吐槽...

一、时间原点概念

阐述:
玩过电脑A,电脑B,电脑C的都知道所有的数据类型(整数,浮点型,布尔型,字符串型等等…)最后是要通过数字的形式展现出来,日期类型也不例外。

定义:
每个日期,在计算机中都会用一个数字来代替。最特殊的就是0这个数字,其代表java中的时间原点,对应的时间为1970年1月1日8点零分零秒。(为什么是8点,因为中国的太平洋时区是UTC-8,刚好距格林威治8个小时)又为什么是1970年,因为1969年发布了第一个UNIX版本。
🔺:所有的日期,都以这个0点为标准,每过一毫秒,就会+1。

二、创建日期对象

1.步骤

A方法:
1.创建日期对象(无参)
2.打印引用出现当前时间
------------------------
B方法:
1.创建日期对象(有参毫秒)
2.打印从时间原点开始(197011800分),过去多少毫秒。

在这里插入图片描述

2.getTime和System.currentTimeMillis()

叭叭:
很多 " 猿声 " 说能不能把日期转换为一个long型的整数,其代表从时间原点到现在的毫秒数,那可太行了,getTime和System.currentTimeMillis()直接笑哭了。
定义:
getTime和System.currentTimeMillis()方法用于将一个日期转换为毫秒数(具体值从时间原点到日期),这节不讲它们的区别(性能方面),想了解的去看看源码,SO EASY。

三、日期格式化

🔺:SimpleDateFormat 日期格式化类

format方法:日期转换字符串
parse方法:字符串转换日期

1.日期转换字符串

y 代表年
M 代表月
d 代表日
H 代表24进制的小时
h 代表12进制的小时
m 代表分钟
s 代表秒
S 代表毫秒

步骤:
1.创建格式化对象,并声明日期格式(格式可自定义调节)
2.创建日期对象+引用
3.将格式化后的日期存于一个字符串中
4.打印

在这里插入图片描述

2.字符串转日期

🔺:日期格式必须和提供的字符串格式保持一致,如果不一致就会抛出异ParseException。

步骤:
1.创建日期格式化对象,并提供指定的日期格式。
2.提供指定的String字符串日期,格式需与步骤一的格式保持一致。
3.将转换的日期定义与try-catch模块中
4.打印

在这里插入图片描述

四、Calendar

阐述:
🔺:Calendar即日历类,常用于进行 "翻日历"。

1.Calendar与Date进行转换

采用单例模式获取日历对象。
在这里插入图片描述

2.翻日历

add方法:在原日期上增加年/月日。
set方法:直接设置年/月/日。

package TestDate;

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

/**
 * java之小小Date
 */
public class test {
    //单例模式!
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static void main(String[] args) {
        //格式化日期
        Calendar c = Calendar.getInstance();
        //将日历格式化为日期
        Date now = c.getTime();
        //当前日期
        System.out.println("当前日期:" + Format(c.getTime()));

        //下个月的今天
        c.setTime(now);
        c.add(Calendar.MONDAY,1);
        System.out.println("下个月的今天:"  +Format(c.getTime()));

        //去年的今天
        c.setTime(now);
        c.add(Calendar.YEAR,-1);
        System.out.println("去年的今天:" + Format(c.getTime()));

        //上个月的第三天
        c.setTime(now);
        c.add(Calendar.YEAR,-1);
        c.set(Calendar.DATE,3);
        System.out.println("上个月的第三天:" +Format(c.getTime()));


    }
    private static String Format(Date time){
        return sdf.format(time);
    }
}
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梨落秋霜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值