我是靠谱客的博主 爱笑冷风,最近开发中收集的这篇文章主要介绍java的Date类和Calendar类获取系统当前的日期和时间,格式化输出系统的日期和时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

      • 一、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类获取系统当前的日期和时间,格式化输出系统的日期和时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部