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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马薛有义 黑马帝   /  2011-7-27 21:11  /  1849 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class DateFormatToString {
public static void main(String[] args) {
String dateStr="2011072714:50:46";
DateFormat sdf=new SimpleDateFormat("yyyyMMddHH:mm:ss");
Date date1=null
try {
date1 = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(new java.sql.Date(date1.getTime()));
}
}
运行结果:2011-07-27

运行结果为什么没有时分秒?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

1 个回复

倒序浏览
黑马网友  发表于 2011-7-27 22:21:46
沙发
遇到问题,请先思考。打印一个java.sql.Date对象时,会调用他的toString()方法。java.sql.Date类重写了toString方法。

范例1:它的toString()方法。[code=java]    public String toString () {
        int year = super.getYear() + 1900;
        int month = super.getMonth() + 1;
        int day = super.getDate();

        char buf[] = "2000-00-00".toCharArray();
        buf[0] = Character.forDigit(year/1000,10);
        buf[1] = Character.forDigit((year/100)%10,10);
        buf[2] = Character.forDigit((year/10)%10,10);
        buf[3] = Character.forDigit(year%10,10);
        buf[5] = Character.forDigit(month/10,10);
        buf[6] = Character.forDigit(month%10,10);
        buf[8] = Character.forDigit(day/10,10);
        buf[9] = Character.forDigit(day%10,10);
               
        return new String(buf);
    }[/code]也就是说,它返回:一个 yyyy-mm-dd 形式的 String 。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 小虎同学很专业

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马