Android-怎样去掉Date date.toString出来的String对象“格林尼治标准时间”这几个字

Android-怎样去掉Date date.toString出来的String对象“格林尼治标准时间”这几个字

瑾兮 发布于 2017-09-11 字数 85 浏览 1379 回复 2

如题,这导致后面的操作不正常,在java的api上不带这几个字啊,我是做android开发的

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灵芸 2017-09-30 2 楼

toString只能提供一个格式,这个更像是debug用的。
如果想自定义日期的格式,那么用SimpleDateFormat会更简便:
贴个demo看下:

String[] formats = new String[] {
"yyyy-MM-dd",
"yyyy-MM-dd HH:mm",
"yyyy-MM-dd HH:mmZ",
"yyyy-MM-dd HH:mm:ss.SSSZ",
"yyyy-MM-dd'T'HH:mm:ss.SSSZ",
};
for (String format : formats) {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
System.err.format("%30s %sn", format, sdf.format(new Date(0)));
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.err.format("%30s %sn", format, sdf.format(new Date(0)));
}

result:

yyyy-MM-dd 1969-12-31
yyyy-MM-dd 1970-01-01
yyyy-MM-dd HH:mm 1969-12-31 16:00
yyyy-MM-dd HH:mm 1970-01-01 00:00
yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000

泛泛之交 2017-09-27 1 楼

嗯,在android上面跟PC上面有差异。设置一下时区就可以了。

SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
simpleFormat .setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
String formatDate = simpleFormat.format(date);