|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,你还记得“软件真的好难做”中的谁人成心思的例子吗?谁人例子告知我们软件开辟中假定大概会是致命的事。明天,我又在StackOverflow上看到一个关于工夫的成绩——为何1927年12月31日的半夜工夫这么奇异?发问题的这团体给了上面的一段java代码(我做一些修正,包管让你能够copy已往就能够编译运转)
我在个中高亮了两行,这个程序就是想对照一下“1927-12-3123:54:07”和“1927-12-3123:54:08”差几秒,很分明,是差一秒。可是程序的输入却不是如许的。
123456789101112131415161718importjava.text.SimpleDateFormat;importjava.text.ParseException;importjava.util.Date;classtime{publicstaticvoidmain(String[]args)throwsParseException{SimpleDateFormatsf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringstr3="1927-12-3123:54:07";Stringstr4="1927-12-3123:54:08";DatesDt3=sf.parse(str3);DatesDt4=sf.parse(str4);longld3=sDt3.getTime()/1000;longld4=sDt4.getTime()/1000;System.out.println(ld3);System.out.println(ld4);System.out.println(ld4-ld3);}}
上面,让我们来看看程序的输入:(是的,差出353秒钟来)-1325491905
-1325491552
353 Stackoverflow真的很壮大,在人人请求提问者给出时区(中国上海)的15分钟内就办理了这个成绩。相称的使人惊讶。缘故原由是甚么呢?人人必要围不雅一下这个网页。
从上图中我们能够看到——在1927年12月31日23:59:59时,今后面的一秒应当是1928年1月1日0:0:0,可是这个工夫被今后调剂了5分52秒,而成了,1927年12月31日的,23:54:08,因而,完成了352秒的穿越。因而我们的Java程序出了如许的一个成绩,这真是一个事业。
为何会有这个调剂呢?我竟然Google不到,不外,我在这个timeanddate.com上检察了一下北京的工夫,发明北京的工夫只到1970年,因而我料想,中国近代汗青七零八落的政权瓜代多是这个缘故原由。因而我看了一下北京和上海物理时差,公然,北京上海的时差在5分50秒摆布。因而,我以为这个工夫的变更应当是从上海工夫酿成了北京工夫。至于你信不信,归正我是信了。
从这个事,我失掉上面的一些启发:
- Java在的时区完成相称的壮大啊。这类细节都能思索到。
- 当地工夫的完整就是一锅,应当只管不必。
- 假如你要开辟和时区有干系的程序,你的体系里必定要利用GMT尺度工夫,仅在显现的时分才转本钱地工夫。
列位无证程序员们,看到这个例子,你们是否是感应编程的压力了?呵呵。
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大. |
|