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

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

正確的方法以錯(cuò)誤的年份操作日期字符串,但時(shí)間正確

正確的方法以錯(cuò)誤的年份操作日期字符串,但時(shí)間正確

梵蒂岡之花 2021-05-01 15:50:29
我必須點(diǎn)擊一個(gè)我無法修復(fù)的API,我需要啟動一個(gè)計(jì)時(shí)器以顯示某人排隊(duì)的時(shí)間。我回來的日期是這種格式1556214336.316。問題是年份始終顯示為1970,但是時(shí)間是正確的開始時(shí)間。我需要計(jì)算現(xiàn)在的時(shí)間與創(chuàng)建對話的時(shí)間之間的差。我嘗試了這一點(diǎn),但收效甚微,我想知道是否有一種優(yōu)雅的方法來僅獲取時(shí)間差而不是總秒數(shù)。 convertDateToTimerFormat = (time) => {    const now = new Date();    const diff = Math.round((now - parseInt(time.toString().replace('.', ''))) / 1000);    const hours = new Date(diff).getHours();    const minutes = new Date(diff).getMinutes();    const seconds = new Date(diff).getSeconds();    return `${hours}:${minutes}:${seconds}`;}怪異的parseInt(time.toString().replace('.', '')))似乎解決了1970年的問題,但是我仍然無法獲得所需的數(shù)據(jù)。我嘗試了momentjs庫,但是他們的diff方法似乎只允許幾天和幾個(gè)小時(shí)。任何幫助/指導(dǎo),將不勝感激。使用工作代碼進(jìn)行編輯:  convertDateToTimerFormat = (time) => {    const now = new Date();    // eslint-disable-next-line radix    const diff = new Date(Number(now - parseInt(time.toString().replace(/\./g, ''))));    const hours = diff.getHours();    const minutes = diff.getMinutes();    const seconds = diff.getSeconds();    return `${hours}:${minutes}:${seconds}`;  }
查看完整描述

2 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

Unix時(shí)間值的數(shù)量,因?yàn)闀r(shí)代,不會有像你十進(jìn)制1556214336.316
如果我參加1556214336(不.316),并把它放在一個(gè)轉(zhuǎn)換器,我得到的輸出04/25/2019 @ 5:45pm (UTC)不是1970年-似乎一個(gè)精確的時(shí)間(我的避風(fēng)港尚未經(jīng)過獨(dú)立驗(yàn)證)
,那么,看來您1556214336.316就是秒。自紀(jì)元以來的毫秒數(shù)。

Javascript使用相同的紀(jì)元,但是是自紀(jì)元以來的毫秒數(shù),而不是秒數(shù),因此,如果我對所獲得的時(shí)間是正確的,則應(yīng)該能夠刪除小數(shù)點(diǎn)后的位,并使用所得的數(shù)字字符串。確實(shí)

var d = new Date(1556214336316);

console.log('Date is: ' + d.toUTCString());

產(chǎn)生


Date is: Thu, 25 Apr 2019 17:45:36 GMT

與轉(zhuǎn)換器的“ 5:45 pm”時(shí)間完全匹配


var d = new Date(1556214336316);

console.log('Date is: ' + d.toUTCString());

假設(shè)您的值1556214336.316是一個(gè)從Web API返回的String,則可以刪除小數(shù),并且可以像這樣完成轉(zhuǎn)換(請注意,您不必繼續(xù)創(chuàng)建新Date對象):


convertDateToTimerFormat = (time) => {

    const d = new Date( Number(time.replace(/\./g, '')) );

    return `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`;

};


console.log( 'time: ' + convertDateToTimerFormat('1556214336.316') );

根據(jù)您的使用,您可能想使用getUTCHours()等。


查看完整回答
反對 回復(fù) 2021-05-13
?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

我對優(yōu)雅并不了解,但這會以以下h:mm:ss格式計(jì)算并顯示過期時(shí)間:


console.log(convertDateToTimerFormat(1556215236.316)); 


function convertDateToTimerFormat(time){


  // Converts `time` to milliseconds to make a JS Date object, then back to seconds

  const expiredSeconds = Math.floor(new Date()/1000) - Math.floor(new Date(time * 1000)/1000);


  // Calculates component values

  const hours = Math.floor(expiredSeconds / 3600), //3600 seconds in an hour

        minutes = Math.floor(expiredSeconds % 3600 / 60),

        seconds = expiredSeconds % 3600 % 60;


  // Adds initial zeroes if needed

  if (minutes < 10) { minutes = "0" + minutes; }

  if (seconds < 10) { seconds = "0" + seconds; }


  // Returns a formatted string

  return `${hours}:${minutes}:${seconds}`;

}


查看完整回答
反對 回復(fù) 2021-05-13
  • 2 回答
  • 0 關(guān)注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號