java calendar.settime_Calendar对象设置时间的两种方法.settime()和.set()

2015年12月27日        阴         星期日

今天在学习计时器Timer这个类的时候,在用time.schedule(TimerTask task , Date firsttime, long period)这个方法的时候第二个参数firsttime用到了Date类型的日期,让我对Calendar的时间设置做了研究。定义个闹钟每天早上六点叫我起床,为了测试方便,我设置每隔5秒叫我一次。

80a38f1f52447f8e391becf24addf1d6.png

start 参数是Date类型的日期。Date类型是Java不建议使用的日期类型,可是由于Date涉及的API过于广泛。所以,在大量的API中依然在使用Date类型的参数。

Date date=new Date();声明一个Date对象,可以获取当前Date类型的当前日期。

eb0d815f1f4ae34cc88fd27c10f3f58b.png

可以给大家看一下我的运行结果,因为我设置的是每隔5秒,输出一次起床了。在用QQ截图的时候,发现了当我打开截图准备多截几条起床了,发现console竟然不输出了,看来在多线程处理的时候,java默认开启了线程锁。在我截完图之后,一下子蹦出来几条起床了。看来单核u遇到多线程只能等待了。我也不知说的对不对,望大神来纠正。

3000f2c36559a994f37ebb990dafbc1b.png

之后我又用java推荐的Calendar来设置一下时间,个人感觉Calendar还是封装的比较好的时间类。首先声明一个Calendar变量是必要的,并且获取当前时间。

Calendar cal=Calendar.getInstance();

17630ad2cda410eaa9539bca2709d796.png

cal.set()设置12小时可以用Calendar.HOUR. 因为我看到cal还用.settime()方法,我想看看.settime()跟.set有什么区别,于是又写了下边的代码来测试。

3df66cf156e06c4b33dcb792c620c6cd.png

我看了.settime(Date date)方法参数是Date类型 .set(int field ,int value)感觉cal类里应该是放了一个Map。相比之下用起来.set方法跟容易操作。不像Date类型让人看不懂。

其实计时器Timer要的就是一个Date类型的start参数,所以如果你对时间的计算很拿手的话用.settime()也未尝不可。

java还提供了SimpleDateFormat 时间格式化这个类来让Date类型的时间转化成大众意义的时间。

f1faaef6bf741c080ff5a1311ca3baf6.png

大写的MM代表月份,小写的mm代表分钟。

第一次写博客园发现在写的过程中还能获得新的体验,望各路大神指点本文漏洞。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值