检查android时间间隔之间的当前时间

发布于 2024-12-07 15:36:08 字数 206 浏览 2 评论 0原文

我想创建一个应用程序,允许用户检查当前时间是否落在指定的时间间隔之间。更具体地说,我使用 sqllite 程序创建了一个 sql 表,该表指定每个记录的结束时间和开始时间。问题在于每个字段的数据类型仅限于文本、数字和日期时间类型以外的其他类型。那么,我如何能够检查当前时间是否在开始时间和结束时间之间,因为时间格式为 h:mm 而不仅仅是一个我可以小于或大于的整数值?我必须将当前时间转换为分钟吗?

I want to create an app that will allow the user to check whether or not the current time falls between a specified time interval. More specifically, I created a sql table using sqllite program, with the table specifying an end time and a start time for each record. The problem is that the type of data each field can be is limited to text, number, and other type other than a datetime type. So, how would I be able to check if the current time is between the start and end time since the format of time is in h:mm and not just an integer value that I could just do less than or greater than? Do I have to convert the current time to minutes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枯叶蝶 2024-12-14 15:36:08

即使时间未存储在日期时间类型中,您也应该能够进行比较,这里是一个解释从字符串到时间转换的链接。

如果这不起作用,请将时间转换为秒 (int) 并计算差值。

You should be able to do the comparison even if time is not stored in the datetime type, here is a link that explains the conversion from string to time.

If that doesn't work, convert the time to seconds (int) and calculate the difference.

自我难过 2024-12-14 15:36:08

试试这个。您可以将时间保存和检索为字符串:

String to long: String.valueOf()
long to String: Long.valueOf()

然后,您使用此过程来检查时间:

//Time checker
private boolean timeCheck(long startTimeInput, long endTimeInput) {
    long currentTime = System.currentTimeMillis();
    if ((currentTime > startTimeInput) && (currentTime < endTimeInput)) {
        return true;
    } else {
        return false;         
    }
}

在您的主程序中像这样检查它:

//You kept the times as String
if (timeCheck(Long.valueOf(start), Long.valueOf(end))) {
    //it is in the interval
} else {
    //not in the interval
}

我希望它有帮助。

Try this. You can save and retrieve your time as String:

String to long: String.valueOf()
long to String: Long.valueOf()

Then, you use this procedure to check time:

//Time checker
private boolean timeCheck(long startTimeInput, long endTimeInput) {
    long currentTime = System.currentTimeMillis();
    if ((currentTime > startTimeInput) && (currentTime < endTimeInput)) {
        return true;
    } else {
        return false;         
    }
}

And in your main program check it like this:

//You kept the times as String
if (timeCheck(Long.valueOf(start), Long.valueOf(end))) {
    //it is in the interval
} else {
    //not in the interval
}

I hope it helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文