0

我正在使用react-calendar,在这里我得到以下格式的日期

Wed Feb 02 2022 00:00:00 GMT+0530 (India Standard Time) 

现在我正在尝试将其转换为dd/mm/yyyy. 有什么办法可以做到这一点吗?

谢谢。

4

3 回答 3

0

本机 Date 对象带有七种格式化方法。这七种方法中的每一种都给你一个特定的价值——

  • toString(): 2021 年 7 月 2 日星期五 14:03:54 GMT+0100(英国夏令时间)
  • toDateString(): 2021 年 7 月 2 日星期五
  • toLocaleString(): 2021 年 7 月 2 日下午 2:05:07
  • toLocaleDateString(): 7/2/2021
  • toGMTString(): 格林威治标准时间 2021 年 7 月 2 日星期五 13:06:02
  • toUTCString(): 格林威治标准时间 2021 年 7 月 2 日星期五 13:06:28
  • toISOString(): 2021-07-02T13:06:53.422Z

var date = new Date();

// toString()
console.log(date.toString());

// toDateString()
console.log(date.toDateString());

// toLocalString()
console.log(date.toLocaleString());

// toLocalDateString()
console.log(date.toLocaleDateString());

// toGMTString()
console.log(date.toGMTString());

// toGMTString()
console.log(date.toUTCString());

// toGMTString()
console.log(date.toISOString());

将印度标准时间格式化为当地时间 -

const IndianDate = 'Wed Feb 02 2022 00:00:00 GMT+0530 (India Standard Time)';

const localDate = new Date(IndianDate).toLocaleDateString();

console.log(localDate);

于 2022-02-07T07:28:46.950 回答
0

这是 JavaScript 默认日期格式。

您可以使用诸如 momentjs、datefns 等库来获得结果。

例如,如果您使用 momentjs:-

时刻(日期).format('dd/mm/yyyy);

或者,如果您不想使用任何第三方库,您可以从 JavaScript 的默认日期对象方法获取结果。

常量日期 = 新日期();

常量天 = date.getDate() < 10 ?0${date.getDate()}: 日期.getDate(); 常量月 = date.getMonth() + 1 < 10 ?0${date.getMonth() + 1}: 日期.getDate() + 1; 常量年 = date.getFullYear();

常量格式化日期 = ${day}/${month}/${year};

于 2022-02-07T07:29:17.160 回答
0

您可以使用Borislav Hadzhiev的这篇博文https://bobbyhadz.com/blog/javascript-format-date-dd-mm-yyyy中显示的方法。

您可以根据您的日历日期设置一个新日期,然后对其进行格式化:

function padTo2Digits(num) {
  return num.toString().padStart(2, '0');
}

function formatDate(date) {
  return [
    padTo2Digits(date.getDate()),
    padTo2Digits(date.getMonth() + 1),
    date.getFullYear(),
  ].join('/');
}

console.log(formatDate(new Date('Wed Feb 02 2022 00:00:00 GMT+0530 (India Standard Time)'))); 
于 2022-02-07T07:14:40.267 回答