是否可以将System.currentTimeinMillis转换为Date

Paw*_*wan 2 java

我在Mongo DB中有一个名为updated_at的字段

这将以DB的方式查看

updated_at:NumberLong("1355754242785")

此Updated_at字段以这种方式在数据库中创建

long now = System.currentTimeMillis();

从DB Record中的一个,我已经取了一个值

updated_at" : NumberLong("1355754242785"), "volatility12" : "na", "vwap" : "0", "wk52hi" : "0", "wk52hidate" : "----"}
Run Code Online (Sandbox Code Playgroud)

例如,说它的值是1355754242785

有可能转换1355754242785,当它被更新?

当我尝试转换

public class Aim {
    public static void main(String[] args) {
        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS");
        long now = 1355754242785; // Error here saying out of range 
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(now);
        System.out.println(now + " = " + formatter.format(calendar.getTime()));
    }
}
Run Code Online (Sandbox Code Playgroud)

leo*_*loy 5

更改

  long now = 1355754242785; // Error here saying out of range 
Run Code Online (Sandbox Code Playgroud)

long now = 1355754242785L; 
Run Code Online (Sandbox Code Playgroud)

对于赋值,这是编译错误; 这应该会让你知道问题与日期无关,只是假设Java中的文字数字是一个int,其最大值为2^31-1.您必须添加L后缀以告知Java该文字将被解释为a long.