一、任务目标
完成一个 java application应用程序,输出当前时间:年月日小时分秒星期几。
二、Calendar类
在实际项目当中,我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示 “XXX,欢迎您!今天是XXXX年…” 某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题,Java中提供了Calendar这个专门用于对日期进行操作的类。
该类被abstract所修饰,说明不能通过new的方式来获得实例,对此,Calendar提供了一个类方法getInstance,以获得此类型的一个通用的对象,getInstance方法返回一个Calendar对象(该对象为Calendar的子类对象)。
Calendar类常用方法 | 功能 | 注意事项 |
---|---|---|
Calendar.YEAR | 获取返回的Calendar对象中的“年” | |
Calendar.MONTH | 获取返回的Calendar对象中的“月” | 在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0,最后一个月取决于一年中的月份数。所以这个值的初始值为0,我们用它来表示日历月份时需要加1。 |
Calendar.DATE | 获取返回的Calendar对象中的“日” | |
Calendar.HOUR | 获取返回的Calendar对象中的“时” | |
Calendar.MINUTE | 获取返回的Calendar对象中的“分” | |
Calendar.SECOND | 获取返回的Calendar对象中的“秒” | |
Calendar.DAY_OF_WEEK | 获取返回的Calendar对象中的“星期” | 英语国家星期从星期日开始计算。所以当我们取得这个值之后,为了要正确的截取出星期,需要减1来达到目的。 |
三、“输出当前时间”应用程序
程序代码:
import java.util.Calendar; //导入Calendar类
public class Clock { //类名Clock
public static void main(String[] args) {
//定义月份表
String months[] = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"};
//定于星期表
String week[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
//定于"Calendar"类的对象calendar,用于储存get方法返回的Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println("当前日期:"+
// 获取年
calendar.get(Calendar.YEAR)+"年"+
// 获取月
months[calendar.get(Calendar.MONTH)]+
// 获取日
calendar.get(Calendar.DATE)+"日");
System.out.println("当前时间:"+
// 获取时
calendar.get(Calendar.HOUR)+":"+
// 获取分
calendar.get(Calendar.MINUTE)+":"+
// 获取秒
calendar.get(Calendar.SECOND));
System.out.println("当前周:"+
//获取周
week[calendar.get(Calendar.DAY_OF_WEEK)-1]);
}
}
运行结果: