java – 带时区的Android格式日期
作者:互联网
我需要将日期格式化为特定的字符串.
我使用SimpleDateFormat类使用模式“yyyy-MM-dd’T’HH:mm:ssZ”格式化日期,它将当前日期返回为
“2013-01-04T15:51:45 0530”但我需要
“2013-01-04T15:51:45 05:30”.
以下是使用的编码,
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
Log.e(C.TAG, "formatted string: "+sdf.format(c.getTime()));
输出:格式化字符串:2013-01-04T15:51:45 0530
我需要格式为2013-01-04T15:51:45 05:30只需在gmt时间之间添加冒号.
因为我正在使用Google日历来插入活动,所以它只接受我提到的所需格式.
解决方法:
您可以使用Joda Time.它的DateTimeFormat有一个ZZ格式属性,可以满足你的需要.
大优势:与SimpleDateFormat不同,DateTimeFormatter是线程安全的.用法:
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZZ")
.withLocale(Locale.ENGLISH);
标签:android,java,calendar,simpledateformat,google-calendar-api 来源: https://codeday.me/bug/20190929/1830598.html