CST时间转换问题

duhuan_chenxiangyun 2011-11-13 02:25:16
原来日期2011/9/8 15:14:00
Thu Sep 08 23:14:00 CST 2011转换后要为2011/9/8 15:14:00
现在转换后却是2011/9/8 23:14:00


public static void main(String[] args) throws ParseException
{
//2011/9/8 15:14:00
String date = "Thu Sep 08 23:14:00 CST 2011";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy",
Locale.US);
Date d = sdf.parse(date);
sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(d));
}
...全文
791 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
UTC+08:00
shine333 2011-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ioe_gaoyong 的回复:]
问题解决了就结贴给分啊

引用 2 楼 duhuan_chenxiangyun 的回复:
GMT-8:00 就是北京时间了吧,谢谢啊
[/Quote]
别乱来!!!
GMT+0800是北京时间,GMT-0800是PST,太平洋标准时间,也就是加利福尼亚之类地方!自己参考一下windows右下角的时钟,里面可以看时区
风尘中国 2011-11-13
  • 打赏
  • 举报
回复
问题解决了就结贴给分啊

[Quote=引用 2 楼 duhuan_chenxiangyun 的回复:]
GMT-8:00 就是北京时间了吧,谢谢啊
[/Quote]
shine333 2011-11-13
  • 打赏
  • 举报
回复
lz是不是要将北京时间显示为GMT时间?

你这里的CST是什么含义,如果CST=中国标准时间/北京时间/GMT+0800的话很不幸,你不能直接用CST这个缩写。
因为CST=Central Standard Time,美国中部标准时间/GMT-0600
  • 打赏
  • 举报
回复
GMT-8:00 就是北京时间了吧,谢谢啊
风尘中国 2011-11-13
  • 打赏
  • 举报
回复
改成下面这样就得到你想要的输出了

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;


public class A3 {
public static void main(String[] args) throws ParseException{
//2011/9/8 15:14:00
String dateStr = "Thu Sep 08 23:14:00 CST 2011";

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy",
Locale.US);
try {
TimeZone tz=TimeZone.getTimeZone( "US/Central ");
sdf.setTimeZone(tz);
Date date= sdf.parse(dateStr);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
format1.setTimeZone(TimeZone.getTimeZone( "GMT-8:00 "));
System.out.println(format1.format(date));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}
}

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧