把上述分段整合成一个程序
时间: 2024-09-18 18:18:50 浏览: 36
如何将多个C语言模块组合成一个程序
当然,下面是将上述两个部分整合成一个完整的Java程序,用于获取用户输入的时区偏移,并显示相应时区的当前时间:
```java
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class CustomTimeZoneDisplay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入时区偏移
System.out.print("请输入时区偏移,格式如:+/-HHMM (例如:-5 对应 UTC-5): ");
String timeZoneInput = scanner.nextLine();
try {
// 尝试解析输入的时区偏移为整数小时和分钟
int hours = Integer.parseInt(timeZoneInput.substring(0, 1));
int minutes = Integer.parseInt(timeZoneInput.substring(1));
// 创建ZoneId实例
ZoneId targetZone = ZoneId.of(timeZoneInput + ":00");
// 获取当前时间,并转换到目标时区
ZonedDateTime currentTime = ZonedDateTime.now().withZoneSameInstant(targetZone);
// 设置日期时间格式
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 格式化并打印时间
String formattedTime = currentTime.format(dateTimeFormatter);
System.out.println("当前时间(根据您指定的时区)为:" + formattedTime);
} catch (NumberFormatException e) {
System.out.println("无效的时区偏移,请输入格式正确的整数偏移(例如:-5 或 +3)。");
}
}
}
```
在这个版本的程序中,我们从用户那里接收字符串输入,尝试将其解析为时区偏移,并处理可能出现的异常情况。当输入有效时,程序会计算出对应的时区,并显示当前时间。
阅读全文