Board logo

标题: java积累----ISO8601格式时间转化为Datetime类型 [打印本页]

作者: look_w    时间: 2019-5-16 19:32     标题: java积累----ISO8601格式时间转化为Datetime类型

api中如果需要根据时间来做筛选,需要有请求的时间戳。时间参数的日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ例如,2018-10-11T12:00:00Z(为北京时间2018年10月11日的20点0分0秒。因为北京是8时区,所以UTC时间加上8小时)。

方法如下:

import org.joda.time.*;
import org.joda.time.format.*;

public class Test {
    public static void main(String[] args) {
        String text = "2018-10-11T11:54:30.207Z";
        DateTimeFormatter parser = ISODateTimeFormat.dateTime();
        DateTime dt = parser.parseDateTime(text);

        DateTimeFormatter formatter = DateTimeFormat.mediumDateTime();
        System.out.println(formatter.print(dt));

        //转化成其他格式
        //日期输出格式  
       String targetFormat = "yyyy-MM-dd HH:mm:ss";
       DateFormat format = new SimpleDateFormat(origFormat);  
       Date date = format.parse(text);  
       format = new SimpleDateFormat(targetFormat);  
       String dateString = format.format(date);  
       System.out.println(dateString);
      
       //data转化成ISO8601格式时间
       TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");  
        df.setTimeZone(tz);  
        String nowAsISO = df.format(date);
    }
}




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0