猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何检查以毫秒为单位的给定时间是否是昨天?
给定一个以毫秒为单位的时间,你如何检查它是否是昨天?
qq_遁去的一_1
浏览 189
回答 3
3回答
白板的微信
您首先将毫秒转换为Date或LocalDate,然后运行比较。这是一个简单的例子:import java.time.*;class DateCheckSample { public static void main(String[] args) { // Our input date long millis = System.currentTimeMillis(); // Convert the millis to a LocalDate Instant instant = Instant.ofEpochMilli(millis); LocalDate inputDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); // Grab today's date LocalDate todaysDate = LocalDate.now(); System.out.println(millis); // Check if date is yesterday if (todaysDate.minusDays(1).equals(inputDate)) { System.out.println(inputDate + " was yesterday!"); } else { System.out.println(inputDate + " was NOT yeseterday!"); } }}结果:2019-02-16 was NOT yesterday!如果您想确认它是否正常工作,只需在运行前减去100000000。millis旁注:正如您对问题的评论中指出的那样,这23:59不是一个毫秒值......
0
0
0
呼唤远方
如果您不想使用Date,您可以简单地使用模数运算符和一些巧妙的算术。System#currentTimeMillis返回自 1970 年 1 月 1 日午夜 (00:00) 以来经过的毫秒数。将此与一天中的毫秒数(86,400,000)结合起来,我们可以计算出一天的最后开始时间——也就是今天开始的时间。然后我们可以查看给我们的时间是小于还是大于该值。boolean isToday(long milliseconds) { long now = System.currentTimeMillis(); long todayStart = now - (now % 86400000); if(milliseconds >= todayStart) { return true; } return false;}要检查某个时间是否是昨天而不是今天,我们只需检查它是否在今天开始和昨天开始之间。boolean isYesterday(long milliseconds) { long now = System.currentTimeMillis(); long todayStart = now - (now % 86400000); long yesterdayStart = todayStart - 86400000; if(milliseconds >= yesterdayStart && < todayStart) { return true; } return false;}
0
0
0
翻阅古今
您可以将毫秒转换为Date,然后将日期与今天的Date.
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续