博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java自定义获取星期几、几点、几分。
阅读量:6931 次
发布时间:2019-06-27

本文共 1056 字,大约阅读时间需要 3 分钟。

 

    /**

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

 

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

转载地址:http://pymjl.baihongyu.com/

你可能感兴趣的文章
nodejs 基本问题答疑
查看>>
Journal 2014-Jan-15 (凌晨)
查看>>
Hyperledger Fabric -- gossip 协议
查看>>
判断IE版本
查看>>
dede留言板BUG解决
查看>>
React Fiber源码分析 第一篇
查看>>
10、K最近邻算法
查看>>
laravel入门-01
查看>>
类名:IExternalCommandAvailability+IExternalCommand实现对某些控件的自定义使用
查看>>
Elasticsearch的安装和使用
查看>>
Ajax简介
查看>>
java网络编程笔记
查看>>
结对作业:迷宫小游戏
查看>>
ethereumjs/ethereumjs-icap
查看>>
升级到Windows10
查看>>
转换数据库连接池为hikaricp
查看>>
第二次作业+105032014065
查看>>
KMP算法(C++版)
查看>>
九章算术卷第七 盈不足
查看>>
CCF201403-2 窗口(100分)
查看>>