簡體   English   中英

如何使用本機反應將時間戳值轉換為特定時間格式?

[英]How to convert timestamp value to specific time format using react native?

在我的場景中,我需要在 react native 中將timestamp值轉換為特定的時間格式。 我厭倦了下面的代碼,但無法獲得准確的格式 output。 如何實現?

 var dateTime = new Date(23456789 * 1000);
    this.setState({DateTime:('0' + dateTime.getUTCDate()).slice(-2) +
            '/' + ('0' + dateTime.getUTCMonth()).slice(-2) +
            '/' + dateTime.getUTCFullYear() +
            '' + ('0' + dateTime.getUTCHours()).slice(-2)
        });

確切的 output 預計: Wed, 2/01/2000 - 1.10 AM

您可以使用以下轉換

 var timestemp = new Date( 23456789000 );
var formatted = timestemp.format("dd/mm/yyyy hh:MM:ss");

你可以像這樣得到日期、日期、年份和月份

  var day = timestemp.getDay();
  var date = timestemp.getDate();
  var month = timestemp.getMonth() + 1;
  var year = timestemp.getFullYear();

更新

var t = new Date(23456789000);
var formatted = ('0' + t.getDate()).slice(-2) 
    + '/' + ('0' + t.getMonth()).slice(-2)
    + '/' + (t.getFullYear())
    + ' ' + ('0' + t.getHours()).slice(-2);

Output

29/08/1970 17

更新:

    var t = new Date(1589343013000);
var hours = t.getHours();
var minutes = t.getMinutes();
var newformat = t.getHours() >= 12 ? 'PM' : 'AM';  

// Find current hour in AM-PM Format 
hours = hours % 12;  

// To display "0" as "12" 
hours = hours ? hours : 12;  
minutes = minutes < 10 ? '0' + minutes : minutes; 
var formatted = 
    (t.toString().split(' ')[0]) 
    + ', ' +('0' + t.getDate()).slice(-2) 
    + '/' + ('0' + (t.getMonth() + 1) ).slice(-2)
    + '/' + (t.getFullYear())
    + ' - ' + ('0' + t.getHours()).slice(-2)
    + ':' + ('0' + t.getMinutes()).slice(-2)
    + ' ' + newformat;

Output:

Wed, 13/05/2020 - 09:40 AM

我試過這個 { ${new Date(23456789000).toLocaleDateString('en-GB')} },在 output 中得到了 29/09/1970。 我使用從數據庫中獲取的日期值而不是時間戳,例如 { ${new Date(myobject.myfield).toLocaleDateString('en-GB')} } 這也有效,我在 React 中定義了與我的數據庫 object 匹配的接口.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM