Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
到utc日期的java字符串_Java_Date - Fatal编程技术网

到utc日期的java字符串

到utc日期的java字符串,java,date,Java,Date,这个问题是故意重复的。似乎老一个被“忽略”,而那里没有一个答案是答案 我需要用给定的日期模式/格式解析给定的日期 我有这个代码,它应该是有效的: 出于某种原因,我得到了以下输出: java.text.ParseException: Unparseable date: "Thu Aug 14 16:45:37 UTC 2011" at java.text.DateFormat.parse(DateFormat.java:337) at Main.string_to_date(Mai

这个问题是故意重复的。似乎老一个被“忽略”,而那里没有一个答案是答案

我需要用给定的日期模式/格式解析给定的日期

我有这个代码,它应该是有效的:

出于某种原因,我得到了以下输出:

java.text.ParseException: Unparseable date: "Thu Aug 14 16:45:37 UTC 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)
    at Main.string_to_date(Main.java:24)
    at Main.main(Main.java:10)
null

我的约会模式怎么了?这似乎是个谜。

这应该解析给定的字符串

public static void main(String[] args) throws ParseException
{
    String sd = "Thu Aug 14 16:45:37 UTC 2011";


    String dp = "EEE MMM dd HH:mm:ss zzz yyyy";

    SimpleDateFormat sdf = new SimpleDateFormat(dp);

    Date d = sdf.parse(sd);

    System.out.println(d);

}

您的平台默认区域设置显然不是英语
Thu
Aug
是英语。您需要显式指定为:


我应该指定一个区域设置,如下所示:

final SimpleDateFormat date_formatter = new SimpleDateFormat(date_format, Locale.ENGLISH);

多亏了他的帮助

只需查看我认为新日期的文档(“2011年8月14日星期四16:45:37 UTC”);事实上works@True软我做了,好几次,但仍然不能找出我需要的模式。为什么不写下来?我很感激。你的代码对我来说很好。我只是复制、粘贴并运行了它。请不要再问同样的问题,因为你没有得到任何有用的回复。更新原始问题,或者提供奖励。是的,我测试了,你有什么错误。只需被告知最后一个sysout将以您的操作系统时区(而不是UTC)打印日期。您可能必须使用SimplateDateFormat来获取默认时区以外的日期字符串。我得到了“ParseException”。真奇怪。而且代码很简单,没有输入错误的地方,等等……很好的答案。我从来没想过EEE和MMMMan,你太棒了!这就是问题所在。谢谢
final SimpleDateFormat date_formatter = 
    new SimpleDateFormat(date_format, Locale.ENGLISH); // <--- Look, with locale.
System.out.println(Locale.getDefault());
final SimpleDateFormat date_formatter = new SimpleDateFormat(date_format, Locale.ENGLISH);