SimpleDateFormat
是 Java 中用于格式化和解析日期的類
SimpleDateFormat
對象設置適當的時區??梢允褂?setTimeZone()
方法來實現這一點。例如,如果要將時區設置為 UTC,可以這樣做:import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
}
}
SimpleDateFormat
對象,可以解析和格式化日期。例如:import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
// 解析字符串形式的日期
String dateStr = "2021-08-01T12:34:56.789Z";
try {
Date date = sdf.parse(dateStr);
System.out.println("Parsed date: " + date);
} catch (ParseException e) {
e.printStackTrace();
}
// 格式化日期為字符串
Date currentDate = new Date();
String formattedDate = sdf.format(currentDate);
System.out.println("Formatted date: " + formattedDate);
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateStr = "2021-08-01T12:34:56.789Z";
try {
Date date = sdf.parse(dateStr);
System.out.println("Parsed date: " + date);
// 轉換為 PST 時區
SimpleDateFormat pstSdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
pstSdf.setTimeZone(TimeZone.getTimeZone("PST"));
String pstDateStr = pstSdf.format(date);
System.out.println("Date in PST: " + pstDateStr);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
通過以上方法,可以有效地處理 SimpleDateFormat
中的時區問題。