java - 时间戳计算函数

标签 java

我正在尝试将 Java 代码编写为项目的一部分,以获取进程的当前时间,然后我需要为其添加固定的超时时间。这个新时间必须与我上面的当前时间进行比较,并据此做出决定。我无法将时间添加到当前时间并进行比较。任何人都可以通过建议的方式帮助我吗?

这是我的代码:

   public class SessionDetails
    {
     public String getCurrentUtcTimestamp() {
        TimeZone timeZone = TimeZone.getTimeZone("UTC:00");
        DateFormat dateFormat = DateFormat.getDateTimeInstance();
        dateFormat.setTimeZone(timeZone);
        timeStamp = dateFormat.format(new Date());
        return timeStamp;
    }
     public void createSession()
         {
           int value = getsession();
           String timeStamp = getCurrentUtcTimestamp() ;
           System.out.println("New session Details :");
           System.out.println("session value:" + value);
           System.out.println("Time of creation :" + timeStamp );
         }
    public boolean checkTimeout(int value)
        {   
            private static long c_Timeout = 10000;
            String currentTime =  getCurrentUtcTimestamp() ;
            if ( currentTime > timeStamp + c_Timeout )   //failing to implement this logic efficiently .please do suggest a way.Thanku..
             System.out.println("Sorry TimeOut");
           else 
             System.out.println("Welcome");

        }
 }

最佳答案

您真的需要将时间戳存储为字符串吗?我建议使用 long,例如调用 System.currentTimeMills() 的结果......然后将其格式化为仅用于诊断目的的字符串。比较 long 值非常容易:)

或者,使用 Joda Time并将时间戳保持为 Instant值。这将使格式化更容易,您可以使用 isAfterisAfterNow 等进行比较。

关于java - 时间戳计算函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991296/

相关文章:

java - 如何确定 Applet 是否已签名并显示证书的提供者,例如Digicert 和证书的到期日期

java - 无法在 spring-integration 4.1.x 中将 String 值转换为 ExpressionEvaluatingRequestHandlerAdvice 的表达式

java - 我正在尝试为插入时间表的方法编写一个 JUnit 测试用例,该时间表将参数作为员工 ID。我应该如何尝试?

java - 是否有约束语法的 Java 实现?

java - Spring Boot 组件扫描无法识别不同 bean 的限定符注释

java - 从 CSV 到 Eclipse 再到 MySql 的希伯来语编码都是垃圾

java - Spring Boot 服务器在使用 Retrofit2 进行 POST 时出错,仅当数据库中存在关系时才会发生

java - 有没有办法在 Java 中强制使用制表符而不是空格?

java - 我的 GUI 窗口没有显示任何内容

java - Eclipse 两次加载相同的编辑器面板