我在 Java 中进行日期和时间转换时遇到问题。
实际上我正在从一个文件中读取一个字符串,并将其存储到 字符串数组,现在用该数组初始化一些变量。我的问题是 我正在将此值保存到另一个文件,在保存时,日期格式正在更改,我正在发布我的代码。
我正在从文件中读取的字符串:
Wed May 02 12:07:54 EST 2012,Task 1 for Test 1,20
code i had writen:
String s = br.readLine();
String[] list = s.split(",");
this.description = list[0];
this.weight = Integer.parseInt(list[1]);
this.dueDate = new Date(list[2]);
//this.dueDate = dateFormat.parse(list[2]);
//SimpleDateFormat dateFormat = new SimpleDateFormat("E,dd MMM yyyy HH:mm.ss");
pw.println(description + "," + weight + "," + dueDate);
我的代码的输出:
Thu May 03 03:07:54 EST 2012,Task 1 for Test 1,20
最佳答案
您需要使用SimpleDateFormat
来解析输入日期。
假设您的输入数据的格式与您发布的一样(因此日期为 list[0]),请将其放入:
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
this.dueDate = dateFormat.parse(list[0]);
重要的是您要告诉它检查时区 (zzz
)。
这应该算出所描述的正确的实际时间。
如果您随后只是打印出来,它将(默认情况下)以您本地的时区打印。
关于java - 读取文件时java中的日期和时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664541/