本实例演示 util 包中类 Calendar 的使用
Clendar 类是一种日期处理类 , 可以想像它是一个挂在墙壁上的典型日历 , 有许多日期和页数翻阅 .
1. Clendar 类的变量域的概念 . 每个元素都是域 , 并且这些域在 Clendar 类中表现为静态变量 . 这些变量域 , 可能通过 get/set 类方法获得或者设置域值 .
[Calendardemo.java 代码 ]:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
import java.util.*;
public class Calendardemo {
public static void main(String[] args) {
// 创建一个日历对象
Calendar calendar = Calendar.getInstance();
// 用当前时间初始化日历对象
calendar.setTime(new Date());
String year = String.valueOf(calendar.get(Calendar.YEAR));
String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
String date = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String day = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
int hour = calendar.get(Calendar.HOUR);// 以 12 小时制
int hour_1 = calendar.get(Calendar.HOUR_OF_DAY);// 以 24 小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
// 输出结果
System.out.println("year= " + year);
System.out.println("month= " + month);
System.out.println("date= " + date);
System.out.println("day= " + day);
System.out.println("hour= " + hour);
System.out.println("hour1= " + hour_1);
System.out.println("minute= " + minute);
System.out.println("second= " + second);
System.out.println(" 现在时间是: ");
System.out.println(" " + year + " 年 " + month + " 月 " + date + " 星期 " + day);
calendar.set(1983, 7, 21);// 将日历翻到某个时间. 7 表示八月
long time1983 = calendar.getTimeInMillis();// 返回当前时间,作为从开始时间的 UTC 毫秒值
calendar.setTime(new Date());// 将日历翻到现在这个时间.
long time2006 = calendar.getTimeInMillis();
long interdays = (time2006 - time1983) / (1000 * 60 * 60 * 24);
System.out.println(" 现在和 1983.8.21 相隔 " + interdays + " 天 ");
}
}
注意 : 应该以静态方式访问静态字段 Calendar.year
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype>
运行结果 :