加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Android SimpleDateFormat,如何使用它?

发布时间:2020-12-15 07:38:54 所属栏目:Java 来源:网络整理
导读:我试图像这样使用 Android SimpleDateFormat: String _Date = "2010-09-29 08:45:22"SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");try { Date date = fmt.parse(_Date); return fmt.format(date);}catch(ParseException pe) { return "Date"
我试图像这样使用 Android SimpleDateFormat:

String _Date = "2010-09-29 08:45:22"
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");

try {
    Date date = fmt.parse(_Date);
    return fmt.format(date);
}
catch(ParseException pe) {
    return "Date";    
}

结果很好,我有:2010-09-29

但是,如果我将SimpleDateFormat更改为

SimpleDateFormat("dd-MM-yyyy");

问题是我会得到03-03-0035 !!!!

为什么以及如何获得像dd-MM-yyyy这样的格式?

解决方法

我假设您想要撤消日期格式?

SimpleDateFormat可用于解析和格式化.
您只需要两种格式,一种解析字符串,另一种返回所需的打印输出:

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(dateString);

SimpleDateFormat fmtOut = new SimpleDateFormat("dd-MM-yyyy");
return fmtOut.format(date);

从Java 8开始:

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneOffset.UTC);
TemporalAccessor date = fmt.parse(dateString);
Instant time = Instant.from(date);

DateTimeFormatter fmtOut = DateTimeFormatter.ofPattern("dd-MM-yyyy").withZone(ZoneOffset.UTC);
return fmtOut.format(time);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读