/**
* @author 9082046**@qq.com
*
*/
public void out_week_hour_minute()
{
long eight_hour_ms = 8*60*60*1000;//8小時*分*秒*毫秒,時區影響,北京時區:東八區。
long per_week_ms = 7*24*60*60*1000;//7天*時*分*秒*毫秒,一周。
long four_day_ms = 4*24*60*60*1000;//4天*時*分*秒*毫秒,時間戳起點是周四。
long per_day_ms = 24*60*60*1000;//24時*分*秒*毫秒
long per_hour_ms = 60*60*1000;//60分*秒*毫秒
long per_minute_ms = 60*1000;//60秒*毫秒
//計算方式:在時間戳的基礎上增加上四天,然後除以一星期的時間長度取餘,
// 然後對上一步得到的餘數除以一天的時間長度取商的值即是周幾。
// 注:該計算方式可能會受計算機所在時區的影響,因為取的時間戳來源于計算機。
// 對時間戳起點周四增加四天,調整到第四天。
// 對時間戳起點增加8小時,調整到東八區。
long now_ms= System.currentTimeMillis() + four_day_ms+eight_hour_ms;
long week_remainder_ms = now_ms%per_week_ms;//目前時間距離本周周一0點0分0秒0毫秒的時間跨度。
long day_remainder_ms = week_remainder_ms%per_day_ms;//目前時間距離今天0點0分0秒0毫秒的時間跨度。
long hour_remainer_ms = day_remainder_ms %per_hour_ms;//目前時間距離目前小時0分0秒0毫秒的時間跨度。
long week = week_remainder_ms/per_day_ms;
long hour = day_remainder_ms/per_hour_ms;
long minute = hour_remainer_ms/per_minute_ms;
System.out.println("week:"+week+",hour:"+hour+",minute:"+minute);
}
友情提示,思路來源:每周都是七天,不管是否閏年、是否大小月。