<h3>1、System.currentTimeMillis()</h3>
<p>System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,数据类型是long。下面是由此计算当前时间的例子:
long time = System.currentTimeMillis();
time /= 1000;
time %= 86400;
hour = (int)(time /3600);
time %= 3600;
minute = (int)(time / 60);
second = (int)(time % 60);
<h3>2、new Date()</h3>
<p>Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象:Date( );第二个构造函数接收一个参数,该参数是从1970年1月1日起的微秒数。Date(long millisec)。
获取当前日期:
Date date = new Date();
System.out.println(date.toString());
运行结果如下:Mon May 04 09:51:52 CDT 2016
格式化日期:
Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(dNow));
运行结果如下:Current Date: Sun 2004.07.18 at 04:14:09 PM PDT
<h3>3、Calendar</h3>
使用Calendar类代表当前时间:
Calendar c = Calendar.getInstance();
使用Calendar类代表指定的时间:
Calendar c1 = Calendar.getInstance();
c1.set(2009, 3 - 1, 9);
获得Calendar类中的信息:
Calendar c2 = Calendar.getInstance();
//年份
int year = c2.get(Calendar.YEAR);
//月份
int month = c2.get(Calendar.MONTH) + 1;
//日期
int date = c2.get(Calendar.DATE);
//小时
int hour = c2.get(Calendar.HOUR_OF_DAY);
//分钟
int minute = c2.get(Calendar.MINUTE);
//秒
int second = c2.get(Calendar.SECOND);
//星期几
int day = c2.get(Calendar.DAY_OF_WEEK);
在Calendar对象中的某个字段上增加或减少一定的数值
(增加是amount的值为正,减少时amount的值为负):
Calendar c3 = Calendar.getInstance();
c3.add(Calendar.DATE, 100);
判断当前日期对象是否在when对象的后面
(如果在when对象的后面则返回true,否则返回false):
Calendar c4 = Calendar.getInstance();
c4.set(2009, 10 - 1, 10);
Calendar c5 = Calendar.getInstance();
c5.set(2010, 10 - 1, 10);
boolean b = c5.after(c4);
System.out.println(b);
将Calendar类型的对象转换为对应的Date类对象:
将Date对象转换为对应的Calendar对象:
Date d = new Date();
Calendar c6 = Calendar.getInstance();
//Calendar类型的对象转换为Date对象
Date d1 = c6.getTime();
//Date类型的对象转换为Calendar对象
Calendar c7 = Calendar.getInstance();
c7.setTime(d);
Calendar对象和相对时间之间的互转:
Calendar c8 = Calendar.getInstance();
long t = 1252785271098L;
//将Calendar对象转换为相对时间
long t1 = c8.getTimeInMillis();
//将相对时间转换为Calendar对象
Calendar c9 = Calendar.getInstance();
c9.setTimeInMillis(t1);
网友评论