【问题标题】:Expiration Date control program [duplicate]到期日期控制程序 [重复]
【发布时间】:2014-07-30 04:36:58
【问题描述】:

我需要一些帮助,我想制作一个程序来控制某些产品的到期日期,它需要将系统日期与数据库(“oracle”)的日期进行比较,我该怎么做比较这两者并返回产品到期的剩余天数。

如果有人可以帮助我,我会很高兴。我不知道从哪里开始。

【问题讨论】:

  • 您从学习您描述的每个步骤开始
  • 我已经尝试了一切,但我不知道该怎么做,我已经尝试过数组,转换为毫秒,将日期与日期进行比较,但没有任何效果。
  • 我所知道的一切我都尝试过,那是因为我在这里,在我不知道的事情上从某人那里带头,但仍在努力使其发挥作用。
  • 我可以尝试用什么来比较它,一些我不知道的类?告诉我,我搜索更多关于它的信息,我不想要整个代码,只是导致跟随。
  • 在 Oracle 方面,您只需执行 select trunc(sysdate) - my_date from my_product_table where my_product_id = ?

标签: java oracle jdbc compare


【解决方案1】:

如果您使用 Java 编写代码会很困难,因为您可以轻松反编译 java 并删除该部分。

也许是这样的:

public int DaysLeft(long DBDateTimeStamp) //Unix time
{
long curr = System.currentTimeMillis()/1000;
long left = DBDateTimeStamp - curr;
int left = left / (60*60*24);
return left;
}

或类似的东西。

【讨论】:

    【解决方案2】:

    Java 有一个内置的日期类,它有很多问题,所以不值得使用。相反,Joda-Time api 提供了可靠的 Java 日期和时间 API。

    API 和一些相关信息可以在http://www.joda.org/joda-time/ 找到。

    一个类似的问题已经被问过了,一些答案和一些示例代码可以在Number of days between two dates in Joda-Time找到。

    对于您的情况,使用默认构造函数实例化新时间将为系统时间提供:DateTime dt = new DateTime();

    从数据库中获取到期日期后,只需将其与我的答案中链接的问题中所述的系统时间进行比较即可。

    【讨论】:

    • 谢谢你,那个+指向其他帖子的链接对我有用:D
    • 没问题,很高兴它对你有用!
    猜你喜欢
    • 2013-03-25
    • 1970-01-01
    • 2016-08-28
    • 2016-10-07
    • 2023-04-08
    • 2013-07-01
    • 2012-05-06
    • 2016-02-25
    • 2013-11-18
    相关资源
    最近更新 更多