我有一个包含日期和时间信息的Java Date对象.我想写一个方法来切断时间信息,截断小时 - 分钟 - 秒,所以我只剩下日期.
输入示例:
2008-01-01 13:15:00
Run Code Online (Sandbox Code Playgroud)
预期产量:
2008-01-01 00:00:00
Run Code Online (Sandbox Code Playgroud)
你有小费吗?我尝试过这样的事情:
(timestamp / (24 * 60 * 60 * 1000)) * (24 * 60 * 60 * 1000)
Run Code Online (Sandbox Code Playgroud)
但是我遇到了时区的问题.
我的Date
Java代码中有一些不赞成使用的方法,如果有人可以在这里指导我,我将不胜感激.我有一个私有的Date变量:
private Date startime;
private Date endTime;
Run Code Online (Sandbox Code Playgroud)
在我的方法中,我宣布:
Calendar calender = Calendar.getInstance();
this.startTime = calender.getTime();
this.startTime.setHours(0); // ----> is depreacted
this.endTime.setHours(startTime.getHours()); // -->deprecated line as well
Run Code Online (Sandbox Code Playgroud)
其他方法如setMinutes()
和getMinutes()
,也已弃用.
我知道我必须使用Calendar.set(Calendar.HOUR_OF_DAY, hour)
.如何在这里使用新代码?所有的setHours,getMinutes等都是覆盖的.
if (query.getCount() > 0 && query.moveToFirst()) {
Calendar calender = Calendar.getInstance();
this.startTime = calender.getTime();
this.startTime.setHours(0);
this.startTime.setMinutes(query.getInt("startTimeOfDayMins"));
this.daysOfWeek = (query.getString("daysOfWeek")).toLowerCase();
this.endTime = calender.getTime();
this.endTime.setHours(startTime.getHours());
this.endTime.setMinutes(startTime.getMinutes() + query.getInt("durationMins"));
this.context = null;
}
Run Code Online (Sandbox Code Playgroud) 我试图将当前时间添加到上一个日期.但它在当前日期加上时间而不是之前的日期.
看我的波纹管代码:
Date startUserDate = ;//this is my previous date object;
startUserDate.setTime(new Date().getTime());// here i'm trying to add current time in previous date.
System.out.println("current time with previous Date :"+startUserDate);
Run Code Online (Sandbox Code Playgroud)
在之前的日期没有时间,我想在上一个日期添加当前时间.我可以这样做,请帮帮我.