java积累----ISO8601格式时间转化为Datetime类型
- UID
- 1066743
|
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);
}
} |
|
|
|
|
|