java SimpleDateFormat中format方法

罗~学生 2020-08-10 12:25:45
我看黑马的视频,里面的老师说format方法,可以将毫秒值转化成日期,就是截图中的第二个format方法,但是在我的电脑上就报错说是参数应为Date,老师的就可以为long
...全文
2775 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
大隐藏于寺 2020-08-11
  • 打赏
  • 举报
回复
引用 9 楼 巧心 甜你心头 的回复:
[quote=引用 4 楼 大隐藏于寺的回复:]

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(simpleDateFormat.format(System.currentTimeMillis()));
    }
输出

2020-08-10
为啥你的行,版本问题吗[/quote] 我的jdk环境

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
开发工具 idea 2020.1.2 操作系统win10企业版 2004
罗~学生 2020-08-10
  • 打赏
  • 举报
回复
没有写错,还有其他的原因吗
YangjulongTrue 2020-08-10
  • 打赏
  • 举报
回复
你是不是哪里打错了 没有问题啊
罗~学生 2020-08-10
  • 打赏
  • 举报
回复
引用 4 楼 大隐藏于寺的回复:

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(simpleDateFormat.format(System.currentTimeMillis()));
    }
输出

2020-08-10
为啥你的行,版本问题吗
lkj2016 2020-08-10
  • 打赏
  • 举报
回复

    public final StringBuffer format(Object obj, StringBuffer toAppendTo,
                                     FieldPosition fieldPosition)
    {
        if (obj instanceof Date)
            return format( (Date)obj, toAppendTo, fieldPosition );
        else if (obj instanceof Number)
            return format( new Date(((Number)obj).longValue()),
                          toAppendTo, fieldPosition );
        else
            throw new IllegalArgumentException("Cannot format given Object as a Date");
    }
这是dateformat里的

    public Date(long date) {
        fastTime = date;
    }
这是date类
bug_终结者_ 2020-08-10
  • 打赏
  • 举报
回复
jdk版本问题吧
lkj2016 2020-08-10
  • 打赏
  • 举报
回复
黑马说的是Long继承object。object类没有自动装箱,你要Long.valueof(long num)的否则就是类型不匹配
lkj2016 2020-08-10
  • 打赏
  • 举报
回复
simpledateformat的父类的父类有个final修饰的format方法。 long是基本数据类型 Long是long包装类继承object
大隐藏于寺 2020-08-10
  • 打赏
  • 举报
回复

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(simpleDateFormat.format(System.currentTimeMillis()));
    }
输出

2020-08-10
qybao 2020-08-10
  • 打赏
  • 举报
回复
自己查看java doc文档不就好了吗。 不知道你们老师的jdk是什么版本的,java1.8的format参数的确只支持Date 所以你是不是看错了,会不会是format(new Date(1000)) 用long初始化了一个Date对象?

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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