讨论一个时间转换的难题,大家讨论

linus_liu2000 2009-08-20 10:27:56
我有一个字符串,里面包含着UTC标准时间:"2009.08.20 0200UTC" 0200表示2点正.
求一个转换函数,把这个字符串变成 表示新西兰当地时间的字符串.
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
linus_liu2000 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 marcblue 的回复:]
Java code#publicclass TimeZoneTest
# {
#publicstaticvoid main (String args[])
# {
#try
# {
# String ts="2007-10-23T17:15:44.000Z";
# System.out.println("ts ="+ ts);
# ts= ts.replace("Z"," UTC");
# System.out.println("ts ="+ ts);
# SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
#
# Date dt= sdf.parse(ts);
#
#
# TimeZone tz= sdf.getTimeZone();
# Calendar c= sdf.getCalendar();
# System.out.println("Display name:"+
# tz.getDisplayName());
# System.out.println(getString(c));
# }
#catch(ParseException pe)
# {
# System.out.println("Error offset:"+ pe.getErrorOffset());
# pe.printStackTrace();
# }
# }
#
#
#privatestatic String getString(Calendar c)
# {
# StringBuffer result=new StringBuffer();
# result.append(c.get(Calendar.YEAR));
# result.append("-");
# result.append((c.get(Calendar.MONTH)+1));
# result.append("-");
# result.append(c.get(Calendar.DAY_OF_MONTH));
# result.append("");
# result.append(c.get(Calendar.HOUR_OF_DAY));
# result.append(":");
# result.append(c.get(Calendar.MINUTE));
# result.append(":");
# result.append(c.get(Calendar.SECOND));
#return result.toString();
# }
#
#
#
# }
这是转成当地时间的,换成新西兰的就可以了
[/Quote]

没太看懂,应该在哪换成新西兰的时间?
justinavril 2009-08-20
  • 打赏
  • 举报
回复
UTC时间与GMT时间是一样的 与英国伦敦的本地时间一样

中国在GMT+8区,也就是中国早GMT和UTC标准时间8小时,而新西兰在GMT+12区(这个不太确定),也就是早UTC标准时间12小时

或者利用Calendar类自动实现 中午吃完饭写写 来验证下上面的话 对不对吧
bigbug9002 2009-08-20
  • 打赏
  • 举报
回复
请问楼上,你代码中带那么多#有何作用?
marcblue 2009-08-20
  • 打赏
  • 举报
回复
# public class TimeZoneTest   
# {
# public static void main (String args[])
# {
# try
# {
# String ts = "2007-10-23T17:15:44.000Z";
# System.out.println("ts = " + ts);
# ts = ts.replace("Z", " UTC");
# System.out.println("ts = " + ts);
# SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
#
# Date dt = sdf.parse(ts);
#
#
# TimeZone tz = sdf.getTimeZone();
# Calendar c = sdf.getCalendar();
# System.out.println("Display name: " +
# tz.getDisplayName());
# System.out.println(getString(c));
# }
# catch(ParseException pe)
# {
# System.out.println("Error offset: " + pe.getErrorOffset());
# pe.printStackTrace();
# }
# }
#
#
# private static String getString(Calendar c)
# {
# StringBuffer result = new StringBuffer();
# result.append(c.get(Calendar.YEAR));
# result.append("-");
# result.append((c.get(Calendar.MONTH) + 1));
# result.append("-");
# result.append(c.get(Calendar.DAY_OF_MONTH));
# result.append(" ");
# result.append(c.get(Calendar.HOUR_OF_DAY));
# result.append(":");
# result.append(c.get(Calendar.MINUTE));
# result.append(":");
# result.append(c.get(Calendar.SECOND));
# return result.toString();
# }
#
#
#
# }

这是转成当地时间的,换成新西兰的就可以了

62,621

社区成员

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

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