如何将格式中的日期转换23/10/2015
为 JavaScript 日期格式:
Fri Oct 23 2015 15:24:53 GMT+0530 (India Standard Time)
如何将格式中的日期转换23/10/2015
为 JavaScript 日期格式:
Fri Oct 23 2015 15:24:53 GMT+0530 (India Standard Time)
如果你有JavaScript 的默认MM/DD/YYYY
格式,你可以简单地将你的字符串传递给构造函数。它会为你解析它。 Date(string)
var dateString = "10/23/2015"; // Oct 23
var dateObject = new Date(dateString);
document.body.innerHTML = dateObject.toString();
如果您使用这种格式,那么您可以拆分日期以分别获取日、月和年,然后在另一个构造函数中使用它 - Date(year, month, day)
:
var dateString = "23/10/2015"; // Oct 23
var dateParts = dateString.split("/");
// month is 0-based, that's why we need dataParts[1] - 1
var dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
document.body.innerHTML = dateObject.toString();
欲了解更多信息,您可以阅读有关文章Date
在Mozilla开发者网络。
moment.js
库或者,您可以使用moment.js
library,它可能是在 JavaScript 中解析和操作日期和时间的最流行的库:
var dateString = "23/10/2015"; // Oct 23
var dateMomentObject = moment(dateString, "DD/MM/YYYY"); // 1st argument - string, 2nd argument - format
var dateObject = dateMomentObject.toDate(); // convert moment.js object to Date object
document.body.innerHTML = dateObject.toString();
<script src="https://momentjs.com/downloads/moment.min.js"></script>
在所有三个示例中,dateObject
变量都包含一个类型为 的对象Date
,它代表一个时刻,可以进一步转换为任何字符串格式。
这是我之前准备的...
convertToDate(dateString) {
// Convert a "dd/MM/yyyy" string into a Date object
let d = dateString.split("/");
let dat = new Date(d[2] + '/' + d[1] + '/' + d[0]);
return dat;
}
我发现默认的 JS 日期格式不起作用。
所以我用toLocaleString
用options
const event = new Date();
const options = { dateStyle: 'short' };
const date = event.toLocaleString('en', options);
得到:DD/MM/YYYY格式
有关更多格式选项,请参阅文档:https : //www.w3schools.com/jsref/jsref_tolocalestring.asp
虽然大多数响应都与拆分字符串或使用本地日期方法有关,但使用 RegEx 的两个密切相关的响应(即 [drgol] 的回答和 [Tomás Hugo Almeida] 的评论)都对捕获组的使用具有指导意义。它们的简洁性也有助于说明捕获并将其与匹配区分开来的value- 两个相关的概念可能会使新的 RegEx 用户感到困惑。此代码块合并了他们的 2 个答案,但请参阅上面的原件:const origDate = '23/07/2020'; const newDate = origDate.replace(/(\d+[/])(\d+[/])/, '$2$1'); // newDate = '07/23/2020';
这是一种将带有一天中的时间的日期字符串转换为日期对象的方法。例如将“20/10/2020 18:11:25”(“DD/MM/YYYY HH:MI:SS”格式)转换为日期对象
function newUYDate(pDate) {
let dd = pDate.split("/")[0].padStart(2, "0");
let mm = pDate.split("/")[1].padStart(2, "0");
let yyyy = pDate.split("/")[2].split(" ")[0];
let hh = pDate.split("/")[2].split(" ")[1].split(":")[0].padStart(2, "0");
let mi = pDate.split("/")[2].split(" ")[1].split(":")[1].padStart(2, "0");
let secs = pDate.split("/")[2].split(" ")[1].split(":")[2].padStart(2, "0");
mm = (parseInt(mm) - 1).toString(); // January is 0
return new Date(yyyy, mm, dd, hh, mi, secs);
}