Java 如何在日期格式(如2010年12月28日星期二17:36:28)中将时间值设置为00:00:00?
我正在使用Java和 我正在尝试下面的代码Java 如何在日期格式(如2010年12月28日星期二17:36:28)中将时间值设置为00:00:00?,java,date,calendar,Java,Date,Calendar,我正在使用Java和 我正在尝试下面的代码 Calendar cal1 = Calendar.getInstance(); cal.setTime(now1); cal1.add(Calendar.DAY_OF_YEAR, -1); java.util.Date yesterday = (Date) cal1.getTime(); System.out.println(yesterday.toString()); java.sql.Timestamp yesterdayTimesta
Calendar cal1 = Calendar.getInstance();
cal.setTime(now1);
cal1.add(Calendar.DAY_OF_YEAR, -1);
java.util.Date yesterday = (Date) cal1.getTime();
System.out.println(yesterday.toString());
java.sql.Timestamp yesterdayTimestamp = new java.sql.Timestamp(tomorrow.getTime());
System.out.println(yesterdayTimestamp.toString());
这给我的输出是2010年12月28日星期二17:36:28
现在我想把这里的时间设置为00:00:00
2010年12月28日星期二17:36:28 IST将是2010年12月28日星期二00:00:00 IST
我不知道怎么做?如果您只需要日期,而不是时间,那么应该使用java.sql.date 如果我正确理解了这个问题,您希望将与时间相关的字段设置为0
Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
cal1.set(Calendar.MILLISECOND, 0);
System.out.println(cal1.getTime());
输出
Wed Dec 29 00:00:00 IST 2010
在日历中,您可以将各个字段设置为0:cal.set(calendar.HOUR\u OF_DAY,0)
或者,您可以使用,它具有用于该目的的类
顺便说一句,如评论中所述-使用格式化程序。例如您不应该依赖对象的toString()
表示。您需要设置时间组件的各个元素
,int)
用户格式化程序。例如SimpleDataFormat。这个链接可能会对生活有帮助。java非常感谢你。你的解决方案帮助了我:)欢迎你投票和/或接受这个答案,因为这对你来说非常感谢。你的解决方案帮助了我。:)
cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);