亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何將這種日期格式轉換為JS Date?

如何將這種日期格式轉換為JS Date?

白豬掌柜的 2023-09-28 17:15:07
我正在使用的服務提供了一種奇怪的日期格式,我只是無法找出轉換為 JS 日期對象的簡潔方法。我需要對日期執行一些邏輯,這就是我需要轉換它的原因。服務返回的日期格式如下:02/Dec/2020:23:58:15 +0000。非常感謝任何幫助,提前致謝
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

:如果將第一個替換為空格,則日期將被解析

const str = "02/Dec/2020:23:58:15 +0000"


console.log(new Date(str.replace(/:/," "))); // change only the first colon

為了獲得更安全的版本,我們似乎需要這樣做 - 在 Safari、Chrome 和 Firefox 中進行了測試


const monthNames = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];

const re = /(\d{2})\/(\w{3})\/(\d{4}):(\d{2}):(\d{2}):(\d{2}) (.*)/;


const makeDate = str => {

  const [_, dd, mmm, yyyy, hh, min, ss, tz] = str.match(re)

  const tzStr = [tz.slice(0, 3), ':', tz.slice(3)].join(''); // make ±hh:mm

  const mm = monthNames.indexOf(mmm.toLowerCase()); // English only

  const isoString = `${yyyy}-${mm}-${dd}T${hh}:${min}:${ss}${tzStr}`

  console.log(isoString)

  return new Date(isoString)

};


const str = "02/Dec/2020:23:58:15 +0000"

const d = makeDate(str);

console.log(d)


查看完整回答
反對 回復 2023-09-28
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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