Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
如何在java中解析getDate()返回的值?_Java_Android_Parsing_Getdate - Fatal编程技术网

如何在java中解析getDate()返回的值?

如何在java中解析getDate()返回的值?,java,android,parsing,getdate,Java,Android,Parsing,Getdate,我创建了一个web服务,它返回最初由getDate()函数捕获的事件的日期。我希望解析此函数返回的日期(格式如下:2013-05-17 14:52:00.943),并以DD-MM-YYYY格式显示给用户 有什么建议吗?我还没有找到这方面的解决方案。使用SimpleDateFormat解析日期,然后使用SimpleDateFormat以所需格式打印出来 例如: SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy"); Simple

我创建了一个web服务,它返回最初由getDate()函数捕获的事件的日期。我希望解析此函数返回的日期(格式如下:2013-05-17 14:52:00.943),并以DD-MM-YYYY格式显示给用户


有什么建议吗?我还没有找到这方面的解决方案。

使用SimpleDateFormat解析日期,然后使用SimpleDateFormat以所需格式打印出来

例如:

SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("dd-MM-yyyy");
Date date = format1.parse("05/18/2013");
System.out.println(format2.format(date));
输出:

Date & Day>>>16-05-2013 Thursday
GMT time: 2013-05-16 02:52:00.943 Greenwich Mean Time
11-05-2013

编辑:


使用SimpleDataFormat解析日期,然后使用SimpleDataFormat以所需格式打印出来

例如:

SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("dd-MM-yyyy");
Date date = format1.parse("05/18/2013");
System.out.println(format2.format(date));
输出:

Date & Day>>>16-05-2013 Thursday
GMT time: 2013-05-16 02:52:00.943 Greenwich Mean Time
11-05-2013

编辑:

如果在时间偏移量中有冒号,则可以使用Joda Time

DateTimeFormatter jodaFormatter = ISODateTimeFormat.dateTime();
DateTime jodaParsed = jodaFormatter.parseDateTime("2013-05-17T16:27:34.9+05:30"); 
Date date = jodaParsed.toDate();
Calendar c = Calendar.getInstance(); 
c.setTime(date); 
c.get(Calendar.DATE));
更多关于乔达的信息可以找到

如果在时间偏移量中有冒号,则可以使用Joda Time

DateTimeFormatter jodaFormatter = ISODateTimeFormat.dateTime();
DateTime jodaParsed = jodaFormatter.parseDateTime("2013-05-17T16:27:34.9+05:30"); 
Date date = jodaParsed.toDate();
Calendar c = Calendar.getInstance(); 
c.setTime(date); 
c.get(Calendar.DATE));

可以找到更多关于joda的信息。

我已经尝试了这个代码,对我来说效果很好,请尝试下面的代码:请向Tarun投票,因为他给出了几乎正确的答案。只是他错误地通过了cal.getTime()方法而不是pDate

字符串formatDate=p.format(pDate)

第二个格式错误,如“DD-MM-YYYY”,但实际格式为:

“dd-MM-yyyy”不是“dd-MM-yyyy”

我已经对它做了更改并修改了它

String dateStr = "2013-05-16 14:52:00.943"; 

SimpleDateFormat c = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.S"); // your web service format
Date pDate = c.parse(dateStr); 
SimpleDateFormat p = new SimpleDateFormat("dd-MM-yyyy"); // your required format

String formatDate = p.format(pDate); // convert it in your required format
SimpleDateFormat formatter = new SimpleDateFormat("EEEE"); // Day format as you want EEE for like "Sat" and EEEE for like "Saturday"
String Day = formatter.format(pDate); // This will give you a day as your selected format

System.out.println("Date & Day>>>"+formatDate+" "+Day);
//对于GMT格式,您的格式应该如下:“2013-05-16 14:52:00.943 GMT+05:30”

输出:

Date & Day>>>16-05-2013 Thursday
GMT time: 2013-05-16 02:52:00.943 Greenwich Mean Time
乔达时间:

您可以从下载joda time的2.0 jar文件

输出:

Date & Day:17-5-2013 16:27 Friday

希望它能对您起作用。

我已经尝试过这个代码,对我来说效果很好,请尝试下面的代码:请向Tarun投票,因为他给出了几乎正确的答案。只是他犯了一个错误,他通过了cal.getTime()方法而不是pDate

字符串formatDate=p.format(pDate)

第二个格式错误,如“DD-MM-YYYY”,但实际格式为:

“dd-MM-yyyy”不是“dd-MM-yyyy”

我已经对它做了更改并修改了它

String dateStr = "2013-05-16 14:52:00.943"; 

SimpleDateFormat c = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.S"); // your web service format
Date pDate = c.parse(dateStr); 
SimpleDateFormat p = new SimpleDateFormat("dd-MM-yyyy"); // your required format

String formatDate = p.format(pDate); // convert it in your required format
SimpleDateFormat formatter = new SimpleDateFormat("EEEE"); // Day format as you want EEE for like "Sat" and EEEE for like "Saturday"
String Day = formatter.format(pDate); // This will give you a day as your selected format

System.out.println("Date & Day>>>"+formatDate+" "+Day);
//对于GMT格式,您的格式应该如下:“2013-05-16 14:52:00.943 GMT+05:30”

输出:

Date & Day>>>16-05-2013 Thursday
GMT time: 2013-05-16 02:52:00.943 Greenwich Mean Time
乔达时间:

您可以从下载joda time的2.0 jar文件

输出:

Date & Day:17-5-2013 16:27 Friday



希望它能为您工作。

这是getDate php函数吗?不是,这是SQL函数。有SimpleDateFormat可以更改日期格式,请参阅我没有看到您的链接@AnkitMakwana。这是getDate php函数吗?不是,这是SQL函数。有SimpleDateFormat可以更改日期格式,请参阅我没有看到您的链接@AnkitMakwana。您好,我不完全理解你给出的上述代码,但我有没有办法用我在问题中提到的日期格式显示日期和日期?day的意思是什么?比如今天,2013年5月18日和周六。嘿,你应该这样做,得到你的结果“MM/dd/yyyy EEEE”请通过@Segi,我所有的聊天室都被办公室封锁了!抱歉:PHello,我还没有完全理解你给出的上述代码,但是我有没有办法用我在问题中提到的日期格式显示日期和日期?day的意思是什么?比如今天,2013年5月18日和周六。嘿,你应该这样做,得到你的结果“MM/dd/yyyy EEEE”请通过@Segi,我所有的聊天室都被封锁在办公室!抱歉:POkay它给出了以下错误:java.text.ParseException:不可解析的日期:“2013-05-17T16:27:34.9+05:30”(偏移量10)。我猜它与分隔时区和时间的分号有关。啊!帮助|它应该像“2013-05-17T16:27:34.9+0530”一样,使用字符串函数只会让它变得更混乱,没有办法吗?@GarimaTiwari检查我的更新答案我已经在格林尼治时间更新了我的答案,但格式应该像我在答案中写的格式。若你们并没有改变,那个么试试塔伦更新的答案。如果需要的话,你可以问另一个关于GMT时间的问题。好的,它给出了以下错误:java.text.ParseException:不可解析的日期:“2013-05-17T16:27:34.9+05:30”(偏移量10)。我猜这与分隔时区和时间的分号有关。啊!帮助|它应该像“2013-05-17T16:27:34.9+0530”一样,使用字符串函数只会让它变得更混乱,没有办法吗?@GarimaTiwari检查我的更新答案我已经在格林尼治时间更新了我的答案,但格式应该像我在答案中写的格式。若你们并没有改变,那个么试试塔伦更新的答案。如果需要的话,你可以问另一个关于格林尼治时间的问题。但是我不会把日期和日期放在一起,是吗?
Calendar c=Calendar.getInstance();c、 设定时间(日期);c、 get(Calendar.DATE))
upvote为您的GMT答案投票。它适用于@GarimaTiwari给出的新格式。我查找了getDate()函数返回的任何格式,但其中没有T,我想知道是什么导致了这种情况。@GarimaTiwari您只需调用DateTime jodaParsed=jodaFormatter.parseDateTime(“您的日期”);它会给你解析的日期和时间,你可以用它来创建date对象。但是我不会把日期和日期放在一起,对吗?
Calendar c=Calendar.getInstance();c、 设定时间(日期);c、 get(Calendar.DATE))
upvote为您的GMT答案投票。它适用于@GarimaTiwari给出的新格式。我查找了getDate()函数返回的任何格式,但其中没有T,我想知道是什么导致了这种情况。@GarimaTiwari您只需调用DateTime jodaParsed=jodaFormatter.parseDateTime(“您的日期”);它将为您提供解析后的日期和时间,您可以使用它来创建日期对象。