A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 齐连涛 中级黑马   /  2012-10-26 18:06  /  1145 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 齐连涛 于 2012-10-26 18:31 编辑

import java.util.*;
import java.text.*;
class  DateDemo
{
public static void main(String[] args)
{
  Date d=new Date();
  System.out.println(d);
  //将模式封装到SimpleDateformat对象中。
  SimpleDateFormat sdf=
    new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");
  String time=sdf.format(d);
  System.out.println(time);
  
}
}
明明是晚上22:28
打印出来怎么是这种结果?
C:\Documents and Settings\Administrator\桌面>java DateDemo
Sun Oct 21 14:28:34 GMT 2012
2012年10月21日星期日 02:28:34


不是24小时制与12小时制的问题,问题是相差整整8小时,北京时间是东八区,跟本初子午线处的时间刚好差8小时,也就是我打印的是本初子午线处的时间  为什么会这样?

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");

h:am/pm 中的小时数(1-12)
H:一天中的小时数(0-23)

改为以下试试:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss");

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
我是菜鸟 发表于 2012-10-26 18:26
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");

h:am/pm 中的小时数(1-12)  ...

改过 不是24小时制与12小时制的问题,问题是相差整整8小时,北京时间是东八区,跟本初子午线处的时间刚好差8小时,也就是我打印的是本初子午线处的时间  为什么会这样?
回复 使用道具 举报
本帖最后由 葛旭东 于 2012-10-26 18:43 编辑

加入Calendar类,获取时区看看!


我的电脑中编译没问题啊,显示正确!
回复 使用道具 举报
齐连涛 发表于 2012-10-26 18:30
改过 不是24小时制与12小时制的问题,问题是相差整整8小时,北京时间是东八区,跟本初子午线处的时间刚好 ...

Sun Oct 21 14:28:34 GMT 2012
2012年10月21日星期日 02:28:34

你说这个结果相差8个小时吗?还是其他?
回复 使用道具 举报
我是菜鸟 发表于 2012-10-26 18:42
Sun Oct 21 14:28:34 GMT 2012
2012年10月21日星期日 02:28:34

就是和实际时间相差八个小时,打印的时间比北京时间早八个小时
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马