2013-11-21 112 views
0

我想通过比较两个日期,用一种简单的技术来许可我的产品(Java应用程序)。我想知道当我将应用程序交给我的客户时应该如何递增日期。我需要每天增加日期,以便在到期时不起作用。 我不想使用系统日期,因为有机会客户可能会改变这一点。所以任何人都可以提供任何建议。我能想到的等于今天日期后一年

+0

你试过什么? ..... –

+0

如果您的应用程序可以访问互联网,则可以使用来自时间服务器的NTP时间。 – Julien

+0

我想要建议我该怎么做,我可以尝试使用系统日期,但正如我所说客户可能会改变它。 –

回答

0

的方法之一是使用 Web服务来获得当前日期在客户端

earthtools.org提供一个免费的网络服务来获取从一个城市在这里的时间段:

http://www.earthtools.org/webservices.htm#timezone

你只是通过在经度/纬度值是这样的:(这是纽约)

http://www.earthtools.org/timezone-1.1/40.71417/-74.00639

使用Java REST客户端获取日期在你的代码

http://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/

+0

该应用程序不会连接到互联网 –

0

由于Java应用程序将是您的客户端上运行,你有两种基本选择(简单地说)。

Option1。在您客户的文件系统上使用(可能)加密文件来存储您想要存储的日期,并与您的过期日期进行比较。

Option2。注册后,注册到服务器。现在服务器知道您何时注册,所以它应该能够确定您何时到期。每次应用程序启动时,都会打电话给服务器,询问它是否已过期。这样,您已经将部分到期逻辑传送到服务器。

请记住,简单形式的两种方法都可以轻松绕过,但大多数情况下,您的应用程序都在客户端计算机上运行。

+0

我正在做选项1.我已经注册了过期日期。需要知道如何增加其他日期 –

+0

您可以使用选项1和选项2的混合。注册后,您可以打电话给你的服务器或其他服务器,你可以从中获得时间。然后每天都可以再次查询该服务器,并检查它是否比注册时多30天。请记住,欺骗来自服务器的响应也很容易绕过它。 –

+0

我没有为我的应用程序使用互联网 –