java开发1:用Calender来解决夏令时(daylight saving time )等引起的错误

1. 遇到问题

在解决了由于公司邮件地址变化造成的ad system report发送的bug之后,这两天,组内的daily report系统又出问题了。现象是,邮件发了,可是附件中的文件却是空的。
闲话不说,先看看log。上server上一看,也没有什么exception log,甚是奇怪。仔细研究一下后,发现是由于时间不匹配造成的问题。原来,这个发邮件的cronjob 每天定时的找一个文件,并发送出来。而这个文件是有固定格式的文件名字的:reprot_yyyy-MM-dd1_yyyy-MM-dd2.csv. 正常的情况下,yyyy-MM-dd1是一个比yyyy-MM-dd2早一个月(固定30天)的时间。比如yyyy-MM-dd2是2012-02-14, 那么 yyyy-MM-dd1就是2012-01-14。 正好相差30天。现在发现系统的情况是,如yyyy-MM-dd2是2012-03-14的时候,yyyy-MM-dd1是却变成了2012-03-13, 多了一天。越是问题就这样出现了,存在的文件名字叫:reprot_2012-02-13_2012-03-14.csv, 而发邮件时候需要找的文件名字却叫 reprot_2012-02-14_2012-03-14.csv。
问题是找出来了,原因却还没有。由于系统是刚刚出现问题,之前一直是好好的,怎么突然就出了问题了呢,我和同事怎么也想不明白。突然间想到,前几天US的哥们发过邮件说他那启用夏令时了。当时没怎么在意,心想也就是开会时间稍微调整下,别的跟我无关。现在夏令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值