如何将具有当前 GMT 时区的字符串转换为正常日期时间

V先生

我拥有的字符串是

Mon Mar 04 12:19:50 GMT+05:30 2019

我希望它转换为

2019-03-04T12:19:50

我试着做:

 SimpleDateFormat sdf3 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

 Date d1 = null;
 try{
     d1 = sdf3.parse(String.valueOf(currentTime));    
 }catch (Exception e){ e.printStackTrace(); }

 System.out.println("check..." + d1);

但这不起作用

我怎样才能做到这一点?请帮我弄清楚逻辑。

脑筋急转弯

正如@Jon Skeet 提到的,使用java.time是个好主意。在您的偏移量处使用Date.toInstant, 并转换为 a LocalDateTime

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Date;
import java.util.Locale;

public class SO201904030814 {

    public SO201904030814() {
    }

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf3 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

        Date d1 = sdf3.parse(String.valueOf("Mon Mar 04 12:19:50 GMT+05:30 2019"));

        LocalDateTime dateTime = LocalDateTime.ofInstant(d1.toInstant(), ZoneOffset.of("+05:30"));

        System.out.println("check..." + d1 + " vs " + dateTime);

    }

}

哼!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将长日期/时区字符串转换为日期时间

Java / Android-将GMT时间字符串转换为本地时间

使用Java将当前GMT时间转换为CST时区

将GMT +#格式的日期时间转换为GMT

如何将具有Etc / GMT的日期字符串转换为Python日期时间?

如何将GMT时间转换为字符串时间

带有字符串的Javascript新Date()更改日期,并转换为GMT当地时间

如何将多个日期格式的字符串转换为时区格式的时间戳

如何将本地日期时间转换为具有偏移量的GMT

如何从日期字符串中提取GMT和时区?

将GMT日期时间转换为本地时区日期时间

将GMT格式的字符串转换为日期时间

如何将包含时区的字符串转换为日期时间SQL Server

如何将字符串“ 2015.02.21 1:00 AM GMT”解析为本地日期时间?

将字符串转换为带时区的日期时间

将GMT格式的字符串转换为datetime格式

将日期值(字符串)转换为具有不同时区的时间戳

将字符串转换为日期(CEST 工作正常,GMT+02:00 不起作用)

如何使用 UTC/GMT 时区将字符串转换为日期

以 GMT 时区保存和检索日期并转换为字符串

使用javascript将谷歌地图时区转换为GMT字符串

如何将日期时间字符串转换为当前时区

PHP 将 UTC 中的字符串日期时间转换为 GMT+7 格式

如何将 UTC 日期时间字符串转换为用户的当前时区?

如何将 GMT 日期从服务器转换为当前用户的时区?

如何将包含无法识别时区的字符串转换为日期时间?

如何将 ORACLE 日期和时间戳类型转换为带时区的字符串?

如何将祖鲁时区字符串转换为特定的日期时间对象?

如何将 GMT 日期字符串转换为日期