【问题标题】:How to get readable time from currentTimeMillis() [duplicate]如何从 currentTimeMillis() 获取可读时间 [重复]
【发布时间】:2013-09-21 14:22:44
【问题描述】:

所以下面有一种简单的方法可以从当前时间毫秒读取读数,但是如何从毫秒值获取可读时间?我会不会只是一堆以 60 递增的模数? (例外是 100 毫秒到一秒)

我这样想/这样做对吗?

提前感谢您提供的任何帮助

  public class DisplayTime {
    public static void main(String[] args) {
                System.out.print("Current time in milliseconds = ");
                System.out.println(System.currentTimeMillis());


        }
    }

【问题讨论】:

  • 这会给你一个long 值。通过以毫秒为单位设置时间,将其与java.util.Calendar 一起使用。然后使用DateFormat 以您想要的方式打印它。
  • 通常的膝跳反射回答一直是“使用 Joda Time 库”。我很惊讶我还没有看到它。

标签: java time


【解决方案1】:

你可以试试this:-

    long yourmilliseconds = 1119193190;
    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");

    Date resultdate = new Date(yourmilliseconds);
    System.out.println(sdf.format(resultdate));

【讨论】:

    【解决方案2】:

    将该值与Calendar 对象一起使用

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(System.currentTimeMillis());
    
    String date = c.get(Calendar.YEAR)+"-"+c.get(Calendar.MONTH)+"-"+c.get(Calendar.DAY_OF_MONTH);
    String time = c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
    
    System.out.println(date + " " + time);
    

    输出:

    2013-8-21 16:27:31
    

    注意: c.getInstance() 已经保存了当前日期时间,因此第二行是多余的。我添加它是为了展示如何将时间以毫秒为单位设置到 Calendar 对象

    【讨论】:

    • 也许值得注意的是,第二行是多余的——getInstance 已经返回了当前时间。
    • @assylias 是的,但是 OP 想要在可读的日期中转换这么长的时间,所以第二行显示了如何做到这一点。我会更新我的答案
    【解决方案3】:
    System.out.println(new java.util.Date()); 
    

    相同
    System.out.println(new java.util.Date(System.currentTimeMillis()));
    

    两者都以可读格式表示当前时间

    【讨论】:

      猜你喜欢
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 2020-11-13
      • 2014-01-04
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多