【问题标题】:How to convert timestamp into days ago如何将时间戳转换为天前
【发布时间】:2013-02-13 01:58:22
【问题描述】:

我的 MySQL 数据库在我上传记录时插入了时间戳,所以输入的内容类似于 2013-02-02 16:59:29。有没有一种 Java 方法可以将其转换为 10 天前之类的内容?

【问题讨论】:

  • 嗯好吧,它们只是标语。冷静。
  • 这就是这个网站的组织方式。你已经存在了足够长的时间来了解更多。

标签: java mysql timestamp


【解决方案1】:

假设您已将数据库中的日期时间值读入 java:

Date date; // read from database
int days = TimeUnit.MILLISECONDS.toDays(
     System.currentTimeMillis() - date.getTime());

然后你可以随意格式化它。

【讨论】:

    【解决方案2】:

    在结果集的帮助下从mysql中获取时间并将时间数据传递给下面的方法

        public static void main(String[] args) {                
    
         long timStampFromMysql = rs.getTimestamp("time");// Fetch time from mysql
                    Calendar cal =  Calendar.getInstance();
                    cal.setTimeInMillis(convertTime(timStampFromMysql , 15));
                    System.out.println(cal);
    
                }
    
                public static long convertTime(long timeInMillies, int days)
                {
    
                     Calendar calendar = Calendar.getInstance();
                        calendar.setTimeInMillis(timeInMillies);
                        calendar.add(Calendar.DAY_OF_YEAR, days);
    
                        return calendar.getTimeInMillis();
    
    
    
                }
    

    【讨论】:

      【解决方案3】:

      Joda Time 库中的 Days.daysBetween 将为您计算。

      DateTime start = new DateTime(time_ms);
      DateTime end   = new DateTime(now);
      Days days = Days.daysBetween(start, end);
      int d = days.getDays();
      

      【讨论】:

        猜你喜欢
        • 2017-10-21
        • 1970-01-01
        • 2016-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-06
        • 2016-04-15
        相关资源
        最近更新 更多