如何格式化一个String为Date对象? String是“Tue, 05 Sep 2006 09:16:59 GMT+8”,如何格式化成一个java.util.Date返回呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.util.Date date=new Date("2006/5/5"); 直接这样也可以:java.util.Date date =new java.util.Date("Tue, 05 Sep 2006 09:16:59 GMT+8");System.out.println(date.toLocaleString()); Date(String)都准备废掉了另外说一句那个“Tue, 05 Sep 2006 09:16:59 GMT+8”只是举个例子,是类似这样的时间格式,应该要一个pattern来parser的吧? /** * 得到给定日期 * * @param date 给定日期 * @param pattern 给定日期格式 * @return Date 给定日期 */Date getDate(String date, String pattern) { SimpleDateFormat formatter = new SimpleDateFormat(pattern); try { return formatter.parse(date); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } }---------------------------------------------日期格式的表达式,你可以通过API查一下SimpleDateFormat就可以得到了! to楼上的:“EEE, d MMM yyyy HH:mm:ss Z”这个pattern也不法解析正确,请问要用什么pattern呢? //直接传个"Tue, 05 Sep 2006 09:16:59 GMT+8"就可以得到Date getDate(String date) { SimpleDateFormat formatter = new SimpleDateFormat(); try { return formatter.parse(date); } catch (Exception e) { throw new RuntimeException("日期格式不正确"); } } <% java.util.Calendar cal = java.util.Calendar.getInstance(); java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String time = fmt.format(cal.getTime());out.print(time)%>输出为 2006-09-06 12:30 liwenqiu(小秋) ( ) 信誉:100 Blog 2006-09-06 12:31:00 得分: 0 to楼上:不行 一样有异常抛出。===================================java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();java.util.Date dd=date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");这个是正确的java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();java.util.Date dd=date1.parse("2005-8-8"); 这个是错误的java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat("yyyy-MM-dd");java.util.Date dd=date1.parse("2005-8-5");这样正确==================也就是说,("Tue, 05 Sep 2006 09:16:59 GMT+8")这种格式日期不用指定格式,应该是默认的格式,其他的要指定日期格式 方法是针对中国区使用的,你的可以使用下面的String dateString = "Tue, 05 Sep 2006 09:16:59 GMT +8"; String pattern = "EEE, dd MMM yyyy HH:mm:ss z"; SimpleDateFormat formatter = new SimpleDateFormat(pattern,Locale.US); try { Date date = formatter.parse(dateString); System.out.println("date = " + date); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } date = new date.toString() To:lip009(深蓝忧郁)public class Test { public static void main(String[] args) throws Exception { java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat(); java.util.Date dd = date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8"); }} 抛出异常:Exception in thread "main" java.text.ParseException: Unparseable date: "Tue, 05 Sep 2006 09:16:59 GMT+8" at java.text.DateFormat.parse(DateFormat.java:335) java.util.Timer使用的一些疑问 机试题 数组中重复次数最多的元素 怎样能用java写出一个winFrom窗体,比如像360*操作界面 用户砸奖的问题 视频抖动 如何用Java生成指定像素的BMP? 哪个好心人帮我看看这个程序是做什么的啊,谢谢了! 遇到一个关于PreparedStatement的奇怪问题 怎样把"新建java文件"添加到windows的新建菜单中 现在找工作都有经验,可我刚毕业哪来的经验,怎么办了各位? 请问链接怎么做为参数传递 struts中<bean:write>标签现实问题--从库中读出字符串中的<被替换成了“&It;”;
java.util.Date date =new java.util.Date("Tue, 05 Sep 2006 09:16:59 GMT+8");
System.out.println(date.toLocaleString());
另外说一句那个“Tue, 05 Sep 2006 09:16:59 GMT+8”只是举个例子,是类似这样的时间格式,应该要一个pattern来parser的吧?
* 得到给定日期
*
* @param date 给定日期
* @param pattern 给定日期格式
* @return Date 给定日期
*/
Date getDate(String date, String pattern) { SimpleDateFormat formatter = new SimpleDateFormat(pattern);
try {
return formatter.parse(date);
}
catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
---------------------------------------------
日期格式的表达式,你可以通过API查一下SimpleDateFormat就可以得到了!
Date getDate(String date) { SimpleDateFormat formatter = new SimpleDateFormat();
try {
return formatter.parse(date);
}
catch (Exception e) {
throw new RuntimeException("日期格式不正确");
}
}
java.util.Calendar cal = java.util.Calendar.getInstance();
java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time = fmt.format(cal.getTime());
out.print(time)
%>
输出为 2006-09-06 12:30
to楼上:不行 一样有异常抛出。
===================================
java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
java.util.Date dd=date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");
这个是正确的
java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
java.util.Date dd=date1.parse("2005-8-8");
这个是错误的
java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date dd=date1.parse("2005-8-5");
这样正确
==================
也就是说,("Tue, 05 Sep 2006 09:16:59 GMT+8")这种格式日期不用指定格式,应该是默认的格式,其他的要指定日期格式
String pattern = "EEE, dd MMM yyyy HH:mm:ss z";
SimpleDateFormat formatter = new SimpleDateFormat(pattern,Locale.US);
try {
Date date = formatter.parse(dateString);
System.out.println("date = " + date);
}
catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
public class Test {
public static void main(String[] args) throws Exception {
java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
java.util.Date dd = date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");
}
}
抛出异常:
Exception in thread "main" java.text.ParseException: Unparseable date: "Tue, 05 Sep 2006 09:16:59 GMT+8"
at java.text.DateFormat.parse(DateFormat.java:335)