Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将时区时间(2019-01-31T05:20:18.728+02:00)转换为时间_Java_Datetime - Fatal编程技术网

Java 如何将时区时间(2019-01-31T05:20:18.728+02:00)转换为时间

Java 如何将时区时间(2019-01-31T05:20:18.728+02:00)转换为时间,java,datetime,Java,Datetime,我尝试将时区转换为时间,但失败了,请您提供建议 时区时间:2019-01-31T05:20:18.728+02:00正如您可能注意到的,时间+02:00的末尾有一个偏移。我想打印出07:20:18,而不是05:20:18.728+02:00,这意味着05:20:18+时间偏移 显示所需时间:07:20:18 ... LocalDateTime ldt = LocalDateTime.now(); //my local time is set to GMT ZoneOffset offset1 =

我尝试将时区转换为时间,但失败了,请您提供建议

时区时间:2019-01-31T05:20:18.728+02:00正如您可能注意到的,时间+02:00的末尾有一个偏移。我想打印出07:20:18,而不是05:20:18.728+02:00,这意味着05:20:18+时间偏移

显示所需时间:07:20:18

...
LocalDateTime ldt = LocalDateTime.now(); //my local time is set to GMT
ZoneOffset offset1 = ZoneOffset.ofHours( (offset%24) );
OffsetDateTime odt = ldt.atOffset( offset1);
System.out.println(odt);
...
我的问题更新了

多谢各位, Ivy

您可以使用Java-8 DateTimeFormatter类格式化LocalTime实例,以仅获取时间部分

public static void main(String[] args) {
        LocalTime localTime = LocalTime.now(ZoneId.of("GMT"));
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
        System.out.println(localTime.format(dtf));

        //From an ISO date string
        LocalTime parseTime = LocalTime.from(DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse( "2019-01-31T05:20:18.728+02:00"));
        System.out.println(parseTime.format(dtf));
}
输出:

05:47:57
05:20:72

您似乎没有付出太多努力,非常感谢,几乎没有理由调用LocalDateTime.now。要表示当前时刻,请使用Instant、OffsetDateTime或ZonedDateTime。您的问题是什么?您是从2019-01-31T05:20:18.728+02:00的输入字符串开始的吗?还是从当前时刻开始?用UTC捕捉当前时刻很简单:瞬间。now@IvyA你的问题根本不清楚你的投入、期望的产出和目标。B关于捕捉当前时刻和调整UTC和时区的主题,这里已经发布了许多问题和答案。您需要在发布前彻底搜索堆栈溢出。C如果您将问题改写为清晰、具体,并解释现有问题和答案如何解决该问题,则您的问题可以重新打开。谢谢,我的问题是显示时间+时间偏移量,而不仅仅是提取时间。