hivefans icon

isotime2datetimestr

hivefans | PRO | 03/17/21 08:24:16 AM UTC | 0 ⭐ | 1347 👁️ | Never ⏰ | []
Java |

1.59 KB

|

None

|

0 👍

/

0 👎

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
 
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
 
 
public class Utctime2Datetime {
    public static void main(String[] args) throws Exception {
        String ISODateTime = "2018-08-07T14:54:18.183+08:00";
        String dateStr = Utctime2Datetime.getDateStrFromISO8601Timestamp(ISODateTime);
        System.out.println("dateStr = " + dateStr);
 
        String dateTime = "2020-09-07 08:44:28";
        String ISOStr = Utctime2Datetime.getISO8601TimestampFromDateStr(dateTime);
        System.out.println("ISOStr = " + ISOStr);
 
 
    }
 
 
    public static String getDateStrFromISO8601Timestamp(String ISOdate){
        DateTimeFormatter dtf1 = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        DateTime dt= dtf1.parseDateTime(ISOdate);
        DateTimeFormatter dtf2= DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
 
        return dt.toString(dtf2);
    }
 
    public static String getISO8601TimestampFromDateStr(String timestamp){
        java.time.format.DateTimeFormatter dtf1 = java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime ldt = LocalDateTime.parse(timestamp,dtf1);
        ZoneOffset offset = ZoneOffset.of("+08:00");
        OffsetDateTime date = OffsetDateTime.of(ldt ,offset);
        java.time.format.DateTimeFormatter dtf2 = java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
        return date.format(dtf2 );
 
    }
 
}
 

Comments