admin 管理员组

文章数量: 1184232

/**
 * @param strTime 示例:"2020-01-01 23:59:59"
 * @return "2020-01-01T15:59:59Z"
 */
//传入一个北京时间(字符串), 返回ISO-8601时间(字符串)格式出去.
public static String getISOTime(String strTime) {
    try {
        Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strTime);
        //把时间转换成ISO-8601格式, 需要减去8个小时
        String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'";
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR, -8);
        Date newTime = calendar.getTime();
        String isoTime = DateFormatUtils.format(newTime, pattern);
        return isoTime;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return null;
}
//直接传入一个时间格式, 返回ISO-8601时间(字符串)格式出去.
public static String getISOTimeByDate(Date date) {
    //把时间转换成ISO-8601格式, 需要减去8个小时
    String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'";
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.HOUR, -8);
    return DateFormatUtils.format(calendar.getTime(), pattern);
}
/**
 * @param isoTime 示例:"2021-01-19T16:00:00Z"
 * @return "2021-01-20 00:00:00"
 */
//传入一个ISO-8601时间格式, 返回中国标准时间(字符串)格式出去
public static String getTimeByISO(String isoTime) {
    try {
        Date isoDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(isoTime);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(isoDate);
        calendar.add(Calendar.HOUR, 8);//ISO-8601时间格式的转成中国标准时间格式的,需要加上8个小时.
        Date newTime = calendar.getTime();
        String strTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(newTime);
        return strTime;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return null;
}
//传入一个ISO-8601时间格式, 返回中国标准时间格式出去
public static Date getDateByISO(String isoTime) {
    try {
        Date isoDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(isoTime);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(isoDate);
        calendar.add(Calendar.HOUR, 8);//ISO-8601时间格式的转成中国标准时间格式的,需要加上8个小时.
        Date newTime = calendar.getTime();
        return newTime;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return null;
}

本文标签: 字符串 编程 时间格式