我有一个带有以下文本的对象:
System.out.println("My date: " + valor);
它打印
我想将此文本转换为Date变量,这是我的代码:
dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy",new Locale("es","MX"));
try {
Date dateToString = dateFormat.parse(valor.toString());
} catch (ParseException e) {
new Date();
}
我总是得到当前日期,我已经为SimpleDateFormat尝试了几种组合,但是没有用,将Object转换为Date变量的正确方法是什么?
最佳答案
您的格式不包含时区(z
),并且您不应该在未记录日志的情况下吞下Exception
(这就是我发现错误的方式)。就像是,
DateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
Date dateToString = dateFormat.parse("Thu Jan 01 13:00:00 CST 2015");
System.out.println(dateFormat.format(dateToString));
} catch (ParseException e) {
e.printStackTrace();
}
输出为
Thu Jan 01 13:00:00 CST 2015