所以,基本上我试图在字符串中实现以下格式:
2012-06-17T08:00:00.000+01:00
我获取字符串格式的原始日期,然后将其解析为不同的格式。
当我使用 SimpleDateFormat 且格式为 (yyyy-MM-dd'T'HH:mm:ss.sssZ) 时,我得到以下输出:
2013-06-17T07:00:00.000+0530
此处 +0530 应为 +05:30
当我将上述日期设置为日历类型,然后将其转换为字符串时,我得到以下格式:
2013-06-17T07:00:00+05:30
这里我没有得到秒后的 .000。
有什么想法可以在不使用 JodaTime 的情况下实现这一点。仅需要日期、字符串和日历类型的操作
最佳答案
首先要获取额外的:
在格式化程序中使用XXX,然后使用大写S
来获取毫秒
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
更新:以上不适用于 1.6
你可以尝试以下方法
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
{
public StringBuffer format(Date date, StringBuffer toAppendTo, java.text.FieldPosition pos)
{
StringBuffer toFix = super.format(date, toAppendTo, pos);
return toFix.insert(toFix.length()-2, ':');
};
关于java - 将日期或日历类型转换为字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319793/