编程语言
首页 > 编程语言> > java – 带时区的Android格式日期

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格式属性,可以满足你的需要.

Link

大优势:与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