为了账号安全,请及时绑定邮箱和手机立即绑定

我们提取的不是当前时间吗?怎么会出错

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;


public class HelloWorld {

    

    public static void main(String[] args) throws ParseException {

        

// 使用format()方法将日期转换为指定格式的文本

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");

SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        

// 创建Date对象,表示当前时间

        Date now=new Date();

        

        // 调用format()方法,将日期转换为字符串并输出

System.out.println(sdf1.format(now));

System.out.println(sdf2.format(now));

System.out.println(sdf3.format(now));


// 使用parse()方法将文本转换为日期

String d = "2014-6-1 21:05:36";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        

         // 调用parse()方法,将字符串转换为日期

Date date =sdf.parse(d);

        

System.out.println(date);

}

}


正在回答

4 回答

代码本来就没错。。。 本来就是字符串按照格式进行解析  而不是解析成某种格式的字符串。

字符串的格式要和解析格式一致 才能进行解析,结果就是默认格式的日期和时间

1 回复 有任何疑惑可以回复我~

你把这个Sun Jun 01 21:05:36 UTC 2014 再格式化一下不就好了

0 回复 有任何疑惑可以回复我~

把下面两行代码try{}起来

0 回复 有任何疑惑可以回复我~
#1

qq_嫵钶取玳_0 提问者

2015年12月30日 09时39分39秒 2015/12/30 09:39 2015-12-30 09:39:39 Sun Jun 01 21:05:36 UTC 2014 我把你的程序拿过来运行了一下,但是时间的结果还是不对呀
2015-12-30 回复 有任何疑惑可以回复我~
		// 使用format()方法将日期转换为指定格式的文本
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
		SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		        
		// 创建Date对象,表示当前时间
		        Date now=new Date();
		        
		        // 调用format()方法,将日期转换为字符串并输出
		System.out.println(sdf1.format(now));
		System.out.println(sdf2.format(now));
		System.out.println(sdf3.format(now));

		// 使用parse()方法将文本转换为日期
		String d = "2014-6-1 21:05:36";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		        
		         // 调用parse()方法,将字符串转换为日期
		Date date =null;
		try {
			date = sdf.parse(d);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		        
		System.out.println(date);
		

他是说需要抛出异常

0 回复 有任何疑惑可以回复我~
#1

qq_嫵钶取玳_0 提问者

能看一下 你所运行的结果吗?
2015-12-30 回复 有任何疑惑可以回复我~
#2

_泥人_ 回复 qq_嫵钶取玳_0 提问者

2015年12月30日 22时06分41秒 2015/12/30 22:06 2015-12-30 22:06:41 Sun Jun 01 21:05:36 CST 2014
2015-12-30 回复 有任何疑惑可以回复我~
#3

qq_嫵钶取玳_0 提问者 回复 _泥人_

我的输出时间始终差了8个小时,怎么把UTC改为CST
2015-12-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我们提取的不是当前时间吗?怎么会出错

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号