You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何将当前日期转为字符串?SimpleDateFormat输出异常如何解决?

问题原因及修复方案
  • 第一个问题:你实际执行的代码未正确调用format()方法,直接将SimpleDateFormat实例传入了setText()。setText()接收非字符串参数时会自动调用对象的toString()方法,SimpleDateFormat默认的toString实现就是输出类名@内存哈希值格式的内容,和你看到的结果完全吻合。请检查代码是否误写为textView.setText(simpleDateFormat);,替换为传入格式化后的字符串变量即可。
  • 第二个问题:你写的日期格式符存在错误,小写mm对应时间单位的分钟,大写MM才对应月份,不改的话后续即使正常输出也无法得到你要的月份值,要把格式串改为"dd.MM.yyyy"。

修正后的代码

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date date = new Date();
String data = simpleDateFormat.format(date);
textView.setText(data);

额外提示

SimpleDateFormat是线程不安全的类,如果在多线程场景下使用容易出现异常,若你的应用最低支持API 26及以上,可改用java.time包下的DateTimeFormatter、LocalDate类实现相同功能,稳定性更高。

内容的提问来源于stack exchange,提问作者user16720786

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:36:03