失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java 转为Calendar_在Java中将String转换为Calendar对象

java 转为Calendar_在Java中将String转换为Calendar对象

时间:2019-01-11 19:06:09

相关推荐

java 转为Calendar_在Java中将String转换为Calendar对象

问题

我是Java新手,通常使用PHP。

我想转换这个字符串:

3月14日16:02:37 GMT

进入Calendar对象,这样我就可以像这样轻松地拉出Year和Month:

String yearAndMonth = cal.get(Calendar.YEAR)+cal.get(Calendar.MONTH);

手动解析是不是一个坏主意?使用子串方法?

任何建议都会有所帮助!

#1 热门回答(325 赞)

Calendar cal = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);

cal.setTime(sdf.parse("Mon Mar 14 16:02:37 GMT "));// all done

注意:setLocale根据你的环境/要求

另请参见- Javadoc

#2 热门回答(11 赞)

好吧,我认为复制已经存在于像SimpleDateFormat这样的类中的代码是个坏主意。

另一方面,如果可以的话,我个人建议尽量避免使用Calendar和37763895,并且使用79838318作为一个设计得更好的日期和时间API。例如,你需要知道SimpleDateFormat不是安全的,因此每次使用它时都需要线程本地,同步或新实例。 Joda解析器和格式化程序是安全的。

#3 热门回答(9 赞)

无需创建新日历,SimpleDateFormat已在下方使用日历。

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.EN_US);

Date date = sdf.parse("Mon Mar 14 16:02:37 GMT "));// all done

Calendar cal = sdf.getCalendar();

(我还不能评论,这就是我创建新答案的原因)

如果觉得《java 转为Calendar_在Java中将String转换为Calendar对象》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。