Java使用Calendar获取当前日期
程序员文章站
2022-05-15 09:56:11
...
使用Calendar创建日期类型对象,由于Calendar是抽象类不能直接new,使用getInstance()方法创建实例对象,具体看参考API(java.util.Calendar);另外,可通过SimpleDateFormat类来可控制其日期格式:
如:
Calendar c = Calendar.getInstance(Locale.CHINA);
//将Calendar转换为String并指定其日期格式
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = format.format(c.getTime());
System.out.println("当前日期时间:" + str);
//输出: 当前日期时间:2014-10-16 18:12:00
也可对Calendar对象的指定属性进行加减操作、设值,获取当前日期毫秒数,创建指定日期的Calendar对象,获取该日期是星期几等等。
如:
c.add(Calendar.DATE, 1); //对c对象的日期加1
str = format.format(c.getTime());
System.out.println("当前日期时间(日期加1):" + str);
//输出: 当前日期时间(日期加1):2014-10-17 18:12:00
//创建指定日期时间的Calendar实例;注月份是从0开始计算的
c.set(2015, 8, 1, 13, 00, 00);
System.out.println("指定日期时间:" + format.format(c.getTime()));
//输出: 指定日期时间:2015-09-01 13:00:00
//也可分别给指定的属性设值
c.set(Calendar.MONTH,Calendar.OCTOBER);
c.set(Calendar.HOUR_OF_DAY, 14);
c.set(Calendar.MINUTE, 59);
str = format.format(c.getTime());
System.out.println("某日期(给某属性设值):" + str);
//输出: 某日期(给某属性设值):2015-10-01 14:59:00
//获取当前日期毫秒数 的两种方法
long ms = c.getTimeInMillis();
ms = System.currentTimeMillis();
//获取当前日期时星期几 ; 字母的具体含义参考API中的类java.text.SimpleDateFormat
format = new SimpleDateFormat("E");
str = format.format(c.getTime());
System.out.println("当前日期时间(星期):" + str);
//输出: 当前日期时间(星期):星期四
//控制日期格式的另外一种方法;参数具体可参考API
format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
System.out.println(format.format(c.getTime()));
//输出: 2015-10-01 14:59:00
对于需要周期性执行的某一操作,可使用Timer和TimeTask实现:如
final Timer timer = new Timer();
TimerTask tTask = new TimerTask() {
int i = 0;
@Override
public void run() {
i++;
System.out.println("每隔2s输出一次…… ");
if(i == 5){
timer.cancel(); //停止计时
timer.purge(); //移除已终止的任务
}
}
};
timer.schedule(tTask, 1000, 2000); //1000指延迟时间,也可使用Date类型的参数指定开始执行时间;2000是执行周期
对于日期类型的创建、操作,以及周期性执行某操作,还有很多其他不同的方法;对于上文如有不妥,请多多指正……
转载于:https://my.oschina.net/youruci/blog/333010