java 时间戳 星期几_java自定义获取星期几、几点、几分。

/**

* @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);

}

友情提示,思路来源:每周都是七天,不管是否闰年、是否大小月。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值