java中获取时间戳的方法

在java开发过程中经常会遇到统计某一天或是某一个月的数据,因此常常需要获取截取数据的两个时间戳(比如统计今天的数据,则需要获取一个开始时间为今天零点以及一个结束时间为明天零点),然后根据数据相关的时间是否在该时间区间内来判断是否将其计入统计数据中。
话不多说,首先我们先拿上面的例子说起吧。如何获取今天零点以及明天零点的两个时间戳。

public Long getToday(){
        DateTime now = new DateTime();
        return new DateTime(now.getYear(), now.getMonthOfYear(), now.getDayOfMonth(), 0, 0, 0, 0).getMillis();
    }

    public Long getTomorrow(){
        DateTime now = new DateTime();
        return new DateTime(now.getYear(), now.getMonthOfYear(), now.getDayOfMonth(), 0, 0, 0, 0).plusDays(1).getMillis();
    }

上面的方法中用到了DateTime中的plusDays(),同理,你如果需要获取下 个星期(年,月,时,分,秒,毫秒)前的时间戳,都有同样的plusYears(int X),plusMonths(int X)等等与之对应,如果要获取今天之前的就把传入一个负整数参数即可。

然而很多时候我们需要某个特定时间的时间戳,比如这个月5号14点23分6秒138毫秒的时间戳(这个时间并没有特殊的含义,随便选的)。

public Long getTime(){
        Long now = new Date().getTime();
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(now);
        calendar.set(Calendar.DAY_OF_MONTH, 5);
        calendar.set(Calendar.HOUR, 14);
        calendar.set(Calendar.MINUTE, 23);
        calendar.set(Calendar.SECOND, 6);
        calendar.set(Calendar.MILLISECOND, 138);
        return calendar.getTimeInMillis();
    }

再比如我们可能需要知道这个星期二的10点10分10秒的时间戳。

public Long getTime(){
        Long now = new Date().getTime();
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(now);
        calendar.set(Calendar.DAY_OF_WEEK, 2);
        calendar.set(Calendar.HOUR, 10);
        calendar.set(Calendar.MINUTE, 10);
        calendar.set(Calendar.SECOND, 10);
        return calendar.getTimeInMillis();
    }

以上就是我总结的一些获取时间戳的方法,如果平时需要快速进行时间与时间戳之间的转换,也可以在站长工具得到快速解决:Unix时间戳

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值