簡體   English   中英

如何將日期格式更改為等字符串

[英]how to change date format to isostring

我有 object 數組,我想將 date.[date 和 dateofbirth] 的日期格式更改為 iso 字符串。 我嘗試使用 map 更改日期格式,但沒有運氣。 如何動態更改兩個日期的日期格式?

//array of object
const emp = [
{ name: "John", age: 22, date: "2015-03-25", dateofbirth: "1990-03-25" },
{ name: "Peter", age: 20, date: "2015-04-23", dateofbirth: "1389-03-03" },
{ name: "Mark", age: 23, date: "2015-01-20", dateofbirth: "1970-11-03" }
];

//my code 
let modifiedArr = emp.map(function (newDate) {
return newDate.date.toISOString;
});

console.log(modifiedArr);

請從 JS 中的map() function 的文檔中閱讀並更好地理解 map map() function

map() function 遍歷數組並對每個項目應用指定的回調。

接下來,您需要使用Date構造函數構造Date對象。 只有這樣你才能調用toISOString()方法。

//array of object
const emp = [
  { name: "John", age: 22, date: "2015-03-25", dateofbirth: "1990-03-25" },
  { name: "Peter", age: 20, date: "2015-04-23", dateofbirth: "1389-03-03" },
  { name: "Mark", age: 23, date: "2015-01-20", dateofbirth: "1970-11-03" },
];

//my code
let modifiedArr = emp.map(function (empRecord) {
  return {
    ...empRecord,
    date: new Date(empRecord.date).toISOString(),
    dateofbirth: new Date(empRecord.dateofbirth).toISOString(),
  };
});

console.log(modifiedArr);

但是,無論何時處理日期,我都強烈推薦luxon 僅僅因為香草 JS 日期 API 是無聊的。

 const emp = [ {name: "John", age: 22, date: "2015-03-25", dateofbirth: "1990-03-25"}, {name: "Peter", age: 20, date: "2015-04-23", dateofbirth: "1389-03-03"}, {name: "Mark", age: 23, date: "2015-01-20", dateofbirth: "1970-11-03"} ]; let dateKeys = ['date', 'dateofbirth']; var getDateInISO = function(date) { return new Date(date).toISOString(); } let modifiedArr = emp.map(function (elem) { dateKeys.forEach(function(date) { elem[date] = getDateInISO(elem[date]); }) return elem; }); console.log(modifiedArr);

toISOString()是 javascript日期class 中的方法,而日期屬性的值是字符串文字。 因此,您首先必須獲取日期 class 的實例,然后調用 toISOString() function。

這可以通過以下方式完成,

let modifiedArr = emp.map(function (item) {

  // This will create a Date object representing the given date
  const currDate = new Date(item.date);

  return currDate.toISOString;
});

暫無
暫無

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

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