将日历对象转换为java格式的字符串,格式为“yyyy-mm-dd hh:mm:
我正在将字符串中存储在日历对象中的日期转换为
MySQL中的查询.我需要格式为“yyyy-MM-dd HH:mm:ss”的字符串,即:“2010-01-01 15:30:00”.
我正在使用如下代码: Calendar TimeStop = Calendar.getInstance(); TimeStop.set(2010,01,15,30,0); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String TimeStop_Str = sdf.format(TimeStop.getTime()); 现在,字符串,而不是像我期望的那样“2010-01-01 15:30:00”是“2010-02-01 15:30:00”. 我想我应该设置一些其他领域,或者可能还有另一种方法……任何想法? 解决方法Calendar.JANUARY 实际上是0,而不是1.
当您为集合中的月份字段提供01时,您实际上将月份设置为2月,这就是当SimpleDateFormat将其呈现为MM时获得02的原因. 当您使用任何Calendar.get / set方法时,您必须采取额外的预防措施,以确保您了解“自然的”基于1的索引与更“笨拙”的基于0的索引之间的差异.每当你获得/设置日历的月份时,总有这种可能导致严重的错误. 这只是 API链接 > 八进制文字 另外,请注意01实际上是八进制文字(即base 8).你不应该养成将0添加到整数文字(§3.10.1)的习惯,因为它们会导致细微的错误/错误,除非你非常小心. 例如,int i = 09;是一个非法的Java代码. System.out.println(010); // prints 8,not 10 也可以看看 > Can I customize syntax highlighting in Eclipse to show octal literals differently? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |