不同时区的时间格式的转换 使用Timezone,Calendar类,可以,查一下文档吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String str = "Tuesday, October 12, 2004 Posted: 1:27 AM EDT";SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, yyyy 'Posted:' hh:mm aa zz",Locale.US);System.out.println(sdf.parse(str));在Java里面Date本身是可以说没有时区的,只是在输出的时候有相应的转换如果你需要输出GMT的时间 这个Parsing我是会的,就是不知道如何用Calendar转换GMT。比如说下边这样行不行?String str = "Tuesday, October 12, 2004 Posted: 1:27 AM EDT";SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, yyyy 'Posted:' hh:mm aa zz",Locale.US);Date rawTime = sdf.parse(str);Calendar gc = new GregorianCalendar(TimeZone.getTimeZone("EDT"))gc.setTime(rawTime);/*这里得到了一个Calendar,时区是EDT,然后我想将这个Calendar转成GMT,之后再作下边的处理…… */sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");String finalOutput = sdf.format(gc.getTime());不知道各位看到区别没有,原始的时间字符串是EDT时区的,这里转化成为GMT时间的字符串,而且要求转化不能损失精度。另外我还想问一下好像新JDK废止了时区缩写的用法,就是说TimeZone.getTimeZone("EDT")不能再识别这个“EDT"时区了,只能返回默认GMT时区,有什么办法可以改过来呢?不好意思我水平粗浅,还要向各位多多学习。 你需要输出什么时区的话是的确不可以使用EDT这个字符串,而是使用sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");sdf.setTimeZone(TimeZone.getTimeZone("EST5EDT");String finalOutput = sdf.format(gc.getTime()); 请教如何实现字符串连接非静态变量。 为什么string 能进行加法运算? 一个发送http请求的java app程序内部设计问题 怎么判断jcombobox的actionlislistener是通过鼠标点击而触发的 求教:访问网上邻居电脑上的文件? 愿出100分,寻找高手 我找了个兼职,请大家给个建议,我该要多少M?100分相送,不够再加 怎样使我的程序窗口位于其他所有程序之上! 帮帮我 怎样重画窗口? JSP文件下载(怪事) 在applet里装载调用SVG格式的矢量图
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, yyyy 'Posted:' hh:mm aa zz",Locale.US);
System.out.println(sdf.parse(str));在Java里面Date本身是可以说没有时区的,只是在输出的时候有相应的转换如果你需要输出GMT的时间
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, yyyy 'Posted:' hh:mm aa zz",Locale.US);Date rawTime = sdf.parse(str);Calendar gc = new GregorianCalendar(TimeZone.getTimeZone("EDT"))
gc.setTime(rawTime);/*这里得到了一个Calendar,时区是EDT,然后我想将这个Calendar转成GMT,之后再作下边的处理…… */sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String finalOutput = sdf.format(gc.getTime());不知道各位看到区别没有,原始的时间字符串是EDT时区的,这里转化成为GMT时间的字符串,而且要求转化不能损失精度。另外我还想问一下好像新JDK废止了时区缩写的用法,就是说TimeZone.getTimeZone("EDT")不能再识别这个“EDT"时区了,只能返回默认GMT时区,有什么办法可以改过来呢?不好意思我水平粗浅,还要向各位多多学习。
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
sdf.setTimeZone(TimeZone.getTimeZone("EST5EDT");
String finalOutput = sdf.format(gc.getTime());