第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將當前 GMT 時區(qū)的字符串轉換為正常日期時間

如何將當前 GMT 時區(qū)的字符串轉換為正常日期時間

慕少森 2022-07-20 12:19:16
我的字符串是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);但這不起作用我怎樣才能做到這一點?請幫我弄清楚邏輯。
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

正如@Jon Skeet 提到的,使用java.time是個好主意。在您的偏移處使用Date.toInstant, 并轉換為, :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);


    }


}


查看完整回答
反對 回復 2022-07-20
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

您需要做的第一件事是解析String


String value = "Mon Mar 04 12:19:50 GMT+05:30 2019";

DateTimeFormatter formatIn = DateTimeFormatter.ofPattern("EE MMM dd HH:mm:ss O yyyy", Locale.ENGLISH);

ZonedDateTime zdt = ZonedDateTime.parse(value, formatIn);

現(xiàn)在您可以根據(jù)需要格式化值


DateTimeFormatter formatOut = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH);

String formatted = zdt.format(formatOut);

// 2019-03-04T12:19:50

或者


String formatted = zdt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);

// 2019-03-04T12:19:50 

但如果我要這樣做,我可能會做類似的事情......


ZoneId zoneId = ZoneId.systemDefault();

LocalDateTime ldt = zdt.withZoneSameInstant(zoneId).toLocalDateTime();

String formatted = ldt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);

// 2019-03-04T17:49:50

然后它在當前時區(qū)


查看完整回答
反對 回復 2022-07-20
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號