从toString()解析java日期回溯
我有一个从toString()解析java日期回溯,java,parsing,date,Java,Parsing,Date,我有一个字符串,其中包含对java.util.Date实例调用的toString()的结果。如何将此值解析回Date对象 Java文档称toString()将此Date对象转换为字符串,格式如下: dow mon dd hh:mm:ss zzz yyyy 但是当然没有像“dow”或“mon”这样的格式标签 有人能帮我解决这个问题吗。请注意,不幸的是,toString()调用位于我无法控制的一段代码中。如果您无法控制生成字符串的代码: 要分析toString()格式,需要将SimpleDate
字符串
,其中包含对java.util.Date
实例调用的toString()
的结果。如何将此值解析回Date
对象
Java文档称toString()
将此Date
对象转换为字符串
,格式如下:
dow mon dd hh:mm:ss zzz yyyy
但是当然没有像“dow”
或“mon”
这样的格式标签
有人能帮我解决这个问题吗。请注意,不幸的是,
toString()
调用位于我无法控制的一段代码中。如果您无法控制生成字符串的代码:
要分析toString()
格式,需要将SimpleDateFormat
区域设置为英语,并使用以下格式:“EEE-MMM-dd-HH:mm:ss-Z-yyyy”
使用SimpleDataFormat。请在此处找到该选项: 支持您获得“dateString”字符串
首先看一下java提供的所有日期格式。 您可以使用
SimpleDataFormat
类来执行您想要的操作
public class DateFormatTest
{
public DateFormatTest()
{
String dateString = // in "dow mon dd hh:mm:ss zzz yyyy" format
SimpleDateFormat dateFormat = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");
Date convertedDate = dateFormat.parse(dateString);
System.out.println("Converted string to date : " + convertedDate);
}
public static void main(String[] argv)
{
new DateFormatTest();
}
}
}
我没有进行测试,但类似的方法可能会奏效:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM HH:mm:ss z yyyy");
Date date = sdf.parse(dateStr);
如果没有,请尝试使用文档进行更正:
()
您可以在java中参考此示例。它有所有的日期格式 此外,对于日期格式及其功能的深入分析,您可以参考下面的链接
Mm..正如我所说,我无法控制toString(),因为它是由Struts制作的。不管怎样,设置EN语言环境就可以了,谢谢。我只需要注意,正确的格式字符串是“EEE-MMM-dd-HH:mm:ss-zzz-yyy”,您已经忘记了月份。我编辑了答案以获得它。:)这不起作用,并导致引发异常。正确的构造函数调用是:
SimpleDateFormat sdf=newsimpledateformat(“EEE-MMM-dd-HH:mm:ss-Z-yyyy”,new-Locale(“us”)代码>“dow”和“mon”不是有效的格式规范
public class DateFormatTest
{
public DateFormatTest()
{
String dateString = // in "dow mon dd hh:mm:ss zzz yyyy" format
SimpleDateFormat dateFormat = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");
Date convertedDate = dateFormat.parse(dateString);
System.out.println("Converted string to date : " + convertedDate);
}
public static void main(String[] argv)
{
new DateFormatTest();
}
}
}
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM HH:mm:ss z yyyy");
Date date = sdf.parse(dateStr);