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.打印从时间原点开始(1970年1月1日8点0时0分),过去多少毫秒。
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);
}
}