获取一周中某天的日期实例

时间:2013-11-26 20:42:49

标签: java date calendar

我有一个配置文件,我在那里阅读一周中的某一天和24小时格式的时间。示例条目如下所示:

NextRun=Sunday|15:00:00

我会将它们解析为daytime个变量。但是,我想找到下周日下午3:00的等效毫秒时间戳。

例如,如果今天是星期日下午4:00或星期二凌晨1:00,那将是下一个星期日下午3:00,但如果现在是星期日下午2:30,预计时间将是30分钟。< / p>

2 个答案:

答案 0 :(得分:1)

获取一个Calendar实例并使用解析的时间和日期进行设置。如果已通过,请添加一周。

Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
c.set(Calendar.HOUR_OF_DAY, 15);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
if (c.getTimeInMillis() - Calendar.getInstance().getTimeInMillis() < 0)
    c.add(Calendar.DAY_OF_YEAR, 7);
return c.getTimeInMillis();

答案 1 :(得分:0)

使用扩展GregorianCalendarCalendar。尝试类似的事情:

GregorianCalendar currentTime = new GregorianCalendar();
GregorianCalendar targetTime = new GregorianCalendar();

//Get Day and Time from config file
targetTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

//Add a week if the targetTime is from last Sunday
if (targetTime.before(currentTime))
{
    targetTime.add(Calendar.DAY_OF_YEAR, 7);
}

System.out.println(currentTime.getTime().toString() + ", " + targetTime.getTime().toString());