“我记得我想告诉你一些关于约会的事情。”

“您已经告诉我 Java 有 Date 类,我可以使用该类来处理日期。”

“嗯。好吧,Date 类已经过时了一段时间了。”

“现在建议改用 Calendar 类,它有一个返回当前日期的 getTime() 方法。”

“这是一个通常创建的日历对象:”

创建日历对象
Calendar cal = Calendar.getInstance();

“当您调用此方法时,会根据您的计算机设置创建正确的日历。”

“‘正确’的日历?也就是说有好几个?”

“是的。嗯,说'相关'会更准确。事实是地球上没有一个,而是许多日历。几乎每一个都与某个宗教或国家有关。”

“年份可能会有所不同,具体取决于您所在的国家/地区。”

“这里是最常见的日历示例。”

日历类 日历名称
公历 基督教公历
佛历 佛历
日本皇历 日本皇历

“还有中国历法、伊斯兰历法等等。”

“我懂了。”

“要获取当前日期,您需要编写如下代码:”

获取当前时间
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

“Calendar 类有许多方法可以让您快速获取有关日期和时间的任何信息。”

代码 评论
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
年月
_



星期几(周一、周二、周三……)

分秒
_

“有时你真的只需要获取一些可用信息。例如,当前年份或星期几。”

“但有时你只需要以正确的格式显示日期。”

“例如,在日志文件或其他地方。”

“或者做一个用户可以自定义的格式,那你怎么办?”

“为此也有特殊的类。SimpleDateFormat非常适合您描述的任务:”

如何以所需格式显示日期
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

“啊,我记得了。关于SimpleDateFormat,你已经跟我解释了一些,但我真的记不太清了。”

“这一切都非常简单。您创建一个SimpleDateFormat对象并将您想要获得的日期模式传递给它。然后您调用格式方法,它会以所需的形式为您提供传递的日期。”

“听起来很有趣。我想要更多细节。”

“给你。细节。这里有一些可以在日期模式中使用的字母:”

描述
G 替换为纪元(AD 或 BC)
换成年份
换成月份
w 一年中的第几周
W 一个月中的第几周
一年中的天数
d 每月的第几天
F 一个月中的星期几
一周中的天
A 上午/下午(中午之前或之后)
H 24 小时格式的小时 (0-23)
k 24 小时格式的小时 (1-24)
12 小时格式的小时 (0-11)
H 12 小时格式的小时 (1-12)
分钟
小号 毫秒
z 时区,格式如下:太平洋标准时间,PST
Z 时区,格式如下:-0800/td>

“太棒了!这就是你需要的一切。”

“重复这些字母仍然存在一些细微差别。”

“如果你写 YY,你会得到年份的最后两位数字。如果你写 YYYY,你会得到年份的所有四位数字。”

“月份也有些复杂。MM是月份的数字。MMM是月份的三个字母缩写,即Jan、Feb、Mar、Apr、May等。MMMM代表月份的全称

“您还可以显示一周中的全天(使用 EEEE)或仅显示前两个字母(使用 EE)。”

“谢谢,Rishi。这个 SimpleDateFormat 类真的很有用。现在我知道了。”

“享受使用吧!祝你好运!”