java的Date和Calendar的一些方法
来源:互联网 发布:九亭淘宝仓库合租 编辑:程序博客网 时间:2024/06/05 08:03
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Calendar;public class DateDemo { public static void main(String arg[]) throws Exception{ //日期格式化 DateFormat df = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); Date dt1 = df.parse("2013-12-03 10:00:00"); Date dt2 = df.parse("2013-12-03 12:00:00"); //日期比较大小方法1 String relation = ""; if (dt1.equals(dt2)) relation = " equals "; else if (dt1.before(dt2)) relation = " before "; else if (dt1.after(dt2)) relation = " after "; System.out.println(df.format(dt1) + relation + df.format(dt2));/*2013-12-03 10:00:00 before 2013-12-03 12:00:00*/ //日期比较大小方法2 long msec1 = dt1.getTime(); long msec2 = dt2.getTime(); if (msec1 == msec2) relation = " equals "; else if (msec1 < msec2) relation = " before "; else if (msec1 > msec2) relation = " after "; System.out.println(msec1); System.out.println(msec2); System.out.println(df.format(dt1) + relation + df.format(dt2));/*138603600000013860432000002013-12-03 10:00:00 before 2013-12-03 12:00:00*/ //java.util.Calendar除了可以表示日期和时间,还可以对日期或时间进行算术运算 Calendar calendar = Calendar.getInstance(); Date now = calendar.getTime(); System.out.println(df.format(now)); /*2013-12-03 12:41:40*/ //获取日期和时间(12小时制Calendar.HOUR 24小时制HOUR_OF_DAY) String dt = calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DATE) + " " + calendar.get(Calendar.HOUR) + ":" + calendar.get(Calendar.MINUTE) + ":" + calendar.get(Calendar.SECOND); System.out.println(dt); /*2013-12-3 0:41:40*/ //设置年月日为2014.1.3(月month是从0开始的) calendar.set(2014, 0, 3); System.out.println(df.format(calendar.getTime())); /*2014-01-03 12:41:40*/ //设置时间 calendar.setTime(now); //这周的第几天 int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); //这月的第几天 int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); //这年的第几天 int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); //当前天在这个月的第几个星期 int dayOfWeekInMonth = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); //输出0是AM 上午,如果输出1是PM下午 int ampm = calendar.get(Calendar.AM_PM); System.out.println(dayOfWeek + " " + dayOfMonth + " " + dayOfYear + " " + dayOfWeekInMonth + " " + ampm);/*3 3 337 1 1*/ //减少1年 calendar.add(Calendar.YEAR, -1); //增加1天 calendar.add(Calendar.DATE, 1); //增加1小时 calendar.add(Calendar.HOUR, 1); System.out.println(df.format(calendar.getTime())); /*2014-01-04 13:41:40*/ //DAY_OF_WEEK或DAY_OF_MONTH或DAY_OF_YEAR都是将Day加1,所以也能增加1天 calendar.add(Calendar.DAY_OF_WEEK, 1); calendar.add(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DAY_OF_YEAR, 1); System.out.println(df.format(calendar.getTime())); /*2014-01-07 12:41:40*/ }}