首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将时间转换为毫秒?

如何将时间转换为毫秒?
EN

Stack Overflow用户
提问于 2014-04-17 05:32:21
回答 5查看 2.1K关注 0票数 0

我对如何将9:30 am这样的给定时间转换为毫秒感到非常困惑,因为如果超过了某个时间,我就需要运行代码。我已经知道如何通过以下代码获取当前时间(以毫秒为单位):

代码语言:javascript
复制
long timestamp = System.currentTimeMillis();

但是我如何将9:30 But转换为毫秒?我已经研究了几个小时了,我似乎只能找到如何获得当前时间。

我的应用程序需要检查时间是晚上9:30还是已经过了,如果是,则运行一条toast消息。

EN

回答 5

Stack Overflow用户

发布于 2014-04-17 05:39:25

在Android上最快也是最正确的方法就是使用Calendar。您可以使Calendar实例成为静态实例,并在需要时重用它。

代码语言:javascript
复制
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 9);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.AM_PM, Calendar.PM);
long timeInMillis = calendar.getTimeInMillis();
票数 1
EN

Stack Overflow用户

发布于 2014-04-17 05:54:25

我不需要检查时间(以毫秒为单位),您可以使用Calendar类将当前时间与所需值进行比较:

代码语言:javascript
复制
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
if (hour > 21 || (hour == 21 && minute >= 30)) {
    doSomeJob();
}

请注意,此代码在午夜后将不起作用。

票数 1
EN

Stack Overflow用户

发布于 2014-04-17 07:16:52

如果你今天9:30 If 需要毫秒的时间,你应该使用Calendar对象来构建你需要的日期和时间。

代码语言:javascript
复制
 // init calendar with current date and default locale
 Calendar cal = Calendar.getInstance(Locale.getDefault());
 cal.setTime(new Date());

 // set new time
 cal.set(Calendar.HOUR_OF_DAY, 21);
 cal.set(Calendar.MINUTE, 30);
 cal.set(Calendar.SECOND, 0);

 // obtain given time in ms
 long today930PMinMills = cal.getTimeInMillis();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23120544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档