在Java代码中有时需要一些精准的时间值,自己写代码又麻烦,就想看看
java.util.Date
有什么有用的方法。
发现
Date date=new Date();
System.out.println(date);
System.out.println(date.getYear()+1900);//得到1900到现在的年差,需加上1900,但不建议使用
System.out.println(date.toLocaleString());//获取默认语言环境的Java虚拟机实例的当前值,但不建议使用该方法
输出为:
Thu May 22 10:58:21 CST 2014
2014
2014-5-22 10:58:21
效果是不错,可
getYear()和toLocaleString()不被建议使用,估计以后会被替代,所以需要一个新的方法。
又找到了SimpleDateFormat 这个类
SimpleDateFormat sdf =new SimpleDateFormat();//为默认区域设置的日期格式的符号
System.out.println(sdf.format(new Date()));
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//自己设定时间格式
System.out.println(sdf1.format(new Date()));
输出为
14-5-22 上午11:24
2014-05-22 11:24:26
可是要得到单一事件的年份、月份就不行。
又看到了Calendar()类
Calendar c=Calendar.getInstance();
c.setTime(new Date());
System.out.println(c.get(Calendar.DAY_OF_WEEK));//星期
System.out.println(c.get(Calendar.WEEK_OF_YEAR));//一年的第几周
System.out.println(c.get(Calendar.DAY_OF_YEAR));//一年的第几天
System.out.println(
c.get(Calendar.YEAR)+"-"+(c.get(Calendar.MONTH)+1)+"-"+c.get(Calendar.DAY_OF_MONTH)
);
调用Calendar类的常量,有很多常量,可以计算出不同的事件事件,可以自行查看调用,就不需要自己打代码(人都是懒出来的),就何以得到准确的单一事件的时间,结果
5//星期
21//第几周
142//天数
2014-5-22//自定义的时间输出