java - 将日期或日历类型转换为字符串格式

标签 java date calendar type-conversion

所以,基本上我试图在字符串中实现以下格式:

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, ':');
    };

参见this post for more

关于java - 将日期或日历类型转换为字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319793/

相关文章:

java - 使用日历确定是星期一、星期二还是

java - 在java swingworker后台线程中使用多线程

Java 8 日期时间 : get start of day from ZonedDateTime

java - ZLIB 输入流意外结束

php - Mysql select - 获取时间戳的日期

java 日历获取第二天之前的小时

java - 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment](已更新)

postgresql - 在postgresql上只选择没有小时的日期

Python:如何从日期列表中计算日期范围?

calendar - 谷歌日历是否适合作为大型应用程序的后端