繁体   English   中英

长日期格式无效转换

[英]Invalid conversion of long to date format

我的代码有什么问题:

long TimeinMillisec = system.currentTimeMillis()/1000; //1376324360;

SimpleDateFormat simpledf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss", Locale.getDefault());
String time_str = simpledf.format(TimeinMillisec);

time_str给出错误的值为:

1970-01-16_23:18:44  

预期:

2013-08-12_18:19:20

该毫秒数( 1376324360 )仅约为15.9天,因此日期计算看起来正确。

您是否在几秒钟内不小心使用了一个值? 乘以1000得出的时间约为43.6年,如果加上1970年(Java中的0毫秒为基数),则得出2013年。

首先,您的长期价值不正确

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss",
                                                     Locale.getDefault());
Date date= sdf.parse("2013-08-12_18:19:20");
System.out.println(date.getTime()); // out put is 1376311760000

等效毫秒long值应为1376311760000

使用以下内容,它将正常工作

    long timeInMilliSec = 1376311760000L; // time in mili-seconds  
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
    Date date=new Date(timeInMilliSec);
    String time_str = sdf.format(date);
    System.out.println(time_str);

好像您丢了几个0。 尝试:1376349560000

毫秒转换工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM