小编Old*_*ick的帖子

为什么这些日期有1天的差异?

我正在尝试使用DateFormat,我遇到了一个问题,我正在创建一个日期,将其存储为一个字符串,然后将其解析为一个日期,并以某种方式结束相同的日期但是一周中的不同日期.

import java.text.*;
import java.util.*;
public class Dates {

    public static void main (String [] args) {
        Date d1 = new Date(1000000000000000L);
        System.out.println("d1 = " + d1.toString());        
        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);       
        String s = df.format(d1);
        System.out.println(s);      
        try {           
            Date d2= df.parse(s);
            System.out.println( "Parsed Date = " + d2.toString());          
        } catch (ParseException e) {            
            System.out.println("Parse Exception");          
        }       
    }       
}
Run Code Online (Sandbox Code Playgroud)

我得到了输出;

d1 = Fri Sep 27 02:46:40 BST 33658
27/09/58
Parsed Date = Sat Sep 27 00:00:00 BST 1958
Run Code Online (Sandbox Code Playgroud)

如果我将d1中的毫秒数设置得更小,那么当日期被解析回来时,它会按照我预期的方式运行,其中解析的日期与初始日匹配.

不确定发生了什么,有人可以解释一下吗?

java date date-format

5
推荐指数
1
解决办法
106
查看次数

标签 统计

date ×1

date-format ×1

java ×1