概述
文章目录
- 一、Date类
- 二、格式化输出日期
- 三、常用的格式符
- 四、格式化同一个日期对象
- 五、Calendar类
一、Date类
使用Date类的无参数构造方法创建的对象可以获取本机的当前日期和时间,例如:
Date date = new Date();
那么,当前date对象的实体中含有的日期和时间就是创建date对象时本机计算机的时间。假设当前时间是2016年10月01日20:30:39(CST时区),那么:
System.out.println(date);
输出的结果是 Sat Oct 01 20:30:39 CST 2016。可能有的人不喜欢这个输出格式,那么就可以用到下面所说的格式化输出方法。
二、格式化输出日期
可以使用String类的format方法对日期进行格式化,format方法:
format(格式化模式,日期列表);
假如当前系统时间是2022/05/01,那么:
Date date = new Date();
String s1 = String.format("%tY-%tm-%td"date,date,date);
String s2 = String.format("%tY年%tm月%td日",date,date,date);
s1的字符序列为2022-05-01
s2的字符序列为2022年05月01日
%tY、%tm、%td就是格式符分别表示年月日,会被后面的日期列表的具体内容所替换掉,除了格式符之外的其他符号都是普通符号,会被系统原样输出。
三、常用的格式符
%tY 将日期中的”年“格式化为4位形式,例如2008,2022
%ty 将日期中的“年”格式化为2位形式,例如08,02
%tm 将日期中的“月”格式化为2位形式,即01-13,01是1月,13是考虑到农历的因素
%td 将日期中的“日”格式化为2位形式,即01-31,01是一个月的第一天
%tH 将日期中的“时”格式化为2位形式(24小时制),即00-23,00是午夜
%tI(不是小写的L,是大写的i) 将日期中的“时”格式化为2位形式(12小时制),即01-12
%tM 将日期中的“分”格式化为2位形式,即00-60(60是支持润秒的一个特殊值)
%tS 将日期中的“秒”格式化为2位形式,即00-60
%tZ 将日期所在时区的名称格式化为标准缩写,例如CST。
四、格式化同一个日期对象
如果所使用的日期对象都是同一个日期对象,那么个可以在格式化模式中使用“<",含有”<"的格式符和它前面的格式符使用的是同一个日期对象,假如现在的时间是:2022年05月01日,那么:
Date date = new Date();
String s1 = String.format("%tY年%<tm月%<td日",date);
String s2 = String.format("%tY-%<tm-%<td",date);
s1的字符序列是:2022年05月01日
s1的字符序列是:2022-05-01
五、Calendar类
上面使用的Date类有个不方便的地方,假如我想获取单独的年、月、日、时、分、秒,用Date类对象是比较不方便的。于是乎就有了它的改良版——Calendar类,可以说Calendar类是完胜Date类。
构造方法:
Calendar calendar = Calendar.getInstance();
得到的calendar对象默认代表当前的日历,如果想修改日历可以调用其set()方法:
//year取负数表示公元前
public final void set(int year,int month,int date);
public final void set(int year,int month,int date,int hour,int minute);
public final void set(int year,int month,int date,int hour,int minute,int second);
calendar对象调用方法public int get(int field)可以获取相关的年、月、日、时、分、秒、星期等,参数 filed的有效值由Calendar的静态常量指定,例如:
获取 “年”,
calendar.get(Calendar.Year);
获取 ”月“,值得注意的是,月份从0开始表示,返回0表示1月,返回1表示2月以此类推
calendar.get(Calendar.DAY_OF_MONTH);
获取 ”时“,小时采用24小时制
calendar.get(Calendar.HOUR_OF_DAY);
获取 “分”,
calendar.get(Calendar.MINUTE);
获取 ”秒“,
calendar.get(Calendar.SECOND);
获取 “星期“,星期从周日开始,返回1表示星期日,返回2表示星期一,以此类推
calendar.get(Calendar.DAY_OF_WEEK);
此外,Calendar对象也支持格式化输出,假设现在的时间是2022/05/01,那么
Calendar calendar = Calendar.getInstance();
String s1 = String.format("%tY年%<tm月%<td日",calendar);
System.out.println(s1);
输出的结果是:2022年05月01日
最后
以上就是爱笑冷风为你收集整理的java的Date类和Calendar类获取系统当前的日期和时间,格式化输出系统的日期和时间的全部内容,希望文章能够帮你解决java的Date类和Calendar类获取系统当前的日期和时间,格式化输出系统的日期和时间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复