Java 如何使Android应用程序在固定时间段后过期

Java 如何使Android应用程序在固定时间段后过期,java,android,time,Java,Android,Time,我想编程一个应用程序,将只提供一个月。我想在启动应用程序时检查它是否超过给定的日期(2020年5月22日,但我不知道怎么做。有人能告诉我如何将当前时间与预设日期进行比较吗?制作一个包含当前时间的静态变量,并在程序启动时检查它(或者在循环中检查,如果需要的话) 公共类主{ 私有静态最终长日期_开始=15875754514548; 如果(DATE_start+2592000000

我想编程一个应用程序,将只提供一个月。我想在启动应用程序时检查它是否超过给定的日期(2020年5月22日,但我不知道怎么做。有人能告诉我如何将当前时间与预设日期进行比较吗?

制作一个包含当前时间的静态变量,并在程序启动时检查它(或者在循环中检查,如果需要的话)

公共类主{
私有静态最终长日期_开始=15875754514548;
如果(DATE_start+2592000000
创建一个包含当前时间的静态变量,并在程序启动时进行检查(如果需要,也可以在循环中进行检查)

公共类主{
私有静态最终长日期_开始=15875754514548;
如果(DATE_start+2592000000
如果要查找当前时间,请使用@JackChap77的注释
new Date().getTime()
以毫秒为单位检索当前时间,然后将其存储在最后一个变量中。但请确保只使用一次,因为您不希望每次加载程序时都检索当前时间。

退出@JackChap77的注释,如果要查找当前时间,请使用
new Date().getTime()
以毫秒为单位检索当前时间,然后将其存储在最后一个变量中。但请确保只使用一次,因为您不希望每次加载程序时都检索当前时间。

将此代码放入应用程序的
onCreate()
方法中并更改日期。
doSomething()
方法将在日期过期后调用

String expiryDateString = "22-May-2020"; // upcoming date
DateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date expiryDate = formatter.parse(expiryDateString);

if(System.currentTimeMillis() > expiryDate.getTime()){
    // app is expired
    doSomething();
}

但请注意,这不是一种安全的方法,因为可以更改系统时间和日期,但此测试失败。因此,更好的方法是在服务器中使用标志,并在每次应用程序启动时进行检查。

将此代码放入应用程序的
onCreate()
方法中,然后更改日期。
doSomething()
方法将在日期过期后调用

String expiryDateString = "22-May-2020"; // upcoming date
DateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date expiryDate = formatter.parse(expiryDateString);

if(System.currentTimeMillis() > expiryDate.getTime()){
    // app is expired
    doSomething();
}

但请注意,这不是一种安全的方法,因为用户可以更改系统时间和日期,但此测试失败。因此,更好的方法是在服务器中使用标志,并在每次应用启动时进行检查。

进行查找日期比较,或者这是否回答了您的问题?进行查找日期比较,或者这是否回答了您的问题?请不要教年轻人使用早已过时且臭名昭著的
SimpleDateFormat
类。至少不要将其作为第一选项。也不要毫无保留。今天我们有更好的in及其
DateTimeFormatter
。是的,你可以在Android上使用它。对于较老的Android,请参阅。请不要教yo我们建议用户使用过时且臭名昭著的
SimpleDateFormat
类。至少不是第一个选项。而且也不是毫无保留。今天我们有了更好的in及其
DateTimeFormatter
。是的,您可以在Android上使用它。对于较旧的Android,请参阅。