一 TimeZone 概述
TimeZone 表示时区偏移量,在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone;因为不同的时区,时间不同。
获取默认的TimeZone对象
//使用方法:
TimeZone tz = TimeZone.getDefault()
//或者
//使用 getTimeZone(String id) 方法获取TimeZone对象
// 获取 “GMT+08:00”对应的时区:
TimeZone china = TimeZone.getTimeZone("GMT+:08:00");
// 获取 “中国/重庆”对应的时区:
TimeZone chongqing = TimeZone.getTimeZone("Asia/Chongqing");
定时开机 时间转换部分代码:
int[] AlarmOn = {2018,12,14,11,05};
String start = null;
int mYear = AlarmOn[0];
int mMonth = AlarmOn[1];
int mDay = AlarmOn[2];
int mHour = AlarmOn[3];
int mMinute = AlarmOn[4];
//将开机时间转换为字符串
StringBuilder date = new StringBuilder().append(mYear).append("/")
.append((mMonth < 10) ? "0" + mMonth : mMonth) .append("/")
.append((mDay < 10) ? "0" + mDay : mDay).append(" ")
.append((mHour < 10) ? "0" + mHour : mHour).append(":")
.append((mMinute < 10) ? "0" + mMinute : mMinute);
start = date.toString();
Date ddd=null;
SimpleDateFormat s=new SimpleDateFormat("yyyy/MM/dd HH:mm");//创建 SimpleDateFormat 对象,并指定目标格式
TimeZone timeZone = TimeZone.getTimeZone("GMT00:00"); // 获取 “GMT+00:00”对应的时区:
try {
ddd = s.parse(start);//将开机时间 start 转换为Date格式
} catch (ParseException e) {
e.printStackTrace();
}
s.setTimeZone(timeZone);//用给定的时区 timeZone 时区值 用来设置时区
String rightTime = s.format(ddd); //再将 Date格式的日期转转换为指定格式的字符串形式