日期转换,从12:00:00到00:00:00的Java
问题描述:
我想转换:日期转换,从12:00:00到00:00:00的Java
Tue Mar 28 12:00:00 IST 2016 time format
INTO
Tue Mar 28 00:00:00 IST 2016
我该怎么办呢?
=================
实际上 在数据库中,我的日期是以“Tue Mar 28 00:00:00 IST 2016”的格式保存的,I要date.but我下面的代码
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.clear(Calendar.MILLISECOND);
return calendar.getTime();
取使用这个这个记录,但这是给我周二3月28日12:00:00北京时间2016,而我想年03月28日00:00:00 IST 2016,所以它会和数据库一样,并且会取回。
答
你需要Calendar.HOUR_OF_DAY
常数,它是用于24小时时钟来操作,而不是Calendar.HOUR
:
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0); // <-- here
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.clear(Calendar.MILLISECOND);
+1
是的,谢谢它的工作! –
答
你可以只添加12小时date
对象,具有calendar
,例如:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse("2016-03-28");
System.out.println(date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR, 12);
System.out.println(calendar.getTime());
答
我觉得OP要格式化24H时间12H。
尝试是这样的:
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
所以......添加12小时? –
[在Java中添加n小时到日期]可能的重复(http://stackoverflow.com/questions/3581258/adding-n-hours-to-a-date-in-java) – scrappedcola
等等,这是真的吗?提前12小时或将时间格式从24小时转换为12小时时间格式?如果后者,不要忘记AM/PM后缀... – fge