我有时间以毫秒为单位,并将其设置为Calendar对象一段时间。 这个初始时间应该是对时间的估计,但实际时间是根据星期日午夜以来的星期几(以毫秒为单位)。
所以我需要以某种方式设置Calendar对象的星期时间,但我很难搞清楚如何做到这一点。
有没有灵巧的方法来做到这一点?我使用的是最好的Java对象吗? 我很久没有完成Java了,所以对我来说这是个新手。
这是一个例子:有两件事情发生。 1)通常以毫秒为单位的时间。 01/03/2001 01:00:00星期二然后我得到事件2)自周日午夜(01/01/2001)0:00:00以来的GMT时间(以毫秒为单位)。让我们说它从那天起已经有20000毫秒。所以现在我需要知道如何设置自午夜以来的实际日期/时间,所以我可以看到实际的时间是什么
答案 0 :(得分:0)
试试这个:
Calendar nowCal = (however you get/set the time you care about, as a Calendar)
long now = nowCal.getTimeInMillis();
long millis_today = now % 86400;
long millis_in_days = (nowCal.get(Calendar.DAY_OF_WEEK) - Calendar.SUNDAY) * 86400L;
long time_since_midnight_sunday = millis_in_days + millis_today;