我在我的typescript/javascript代码中使用dayjs。我想将DayJs日期转换为以下格式。怎么做?2020-04-25T00:00:00+00:00我试过了-
2020-04-25T00:00:00+00:00
dayjs().format('YYYY-MM-DD hh:mm:ss Z');
但是,它给出的日期看起来与我想要的格式不同。例如-
2020-04-25T00:00:00.000Z
ljo96ir51#
要在DayJS中格式化字符串以显示加号,您可以使用格式字符串YYYY-MM-DDTHH:mm:ssZ,其中T是分隔日期和时间的文字字符串“T”,Z表示±hh:mm格式的时区偏移。让我知道这个代码是否适合你。
const date = dayjs(); // replace with your DayJS date object const formattedDate = date.format('YYYY-MM-DDTHH:mm:ssZ'); console.log(formattedDate); // prints something like 2020-04-25T00:00:00+00:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.7/dayjs.min.js"></script>
lymnna712#
不需要任何第三方日期库。使用本机Intl.DateTimeFormat。Intl.DateTimeFormat.prototype.formatToParts()下面是如何使用此方法的示例。您需要修改它以获得所需的结果:
Intl.DateTimeFormat.prototype.formatToParts()
function format(dateObject){ let dtf = new Intl.DateTimeFormat("en-US", { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' }); var parts = dtf.formatToParts(dateObject); var fmtArr = ["year","month","day","hour","minute","second"]; var str = ""; for (var i = 0; i < fmtArr.length; i++) { if(i===1 || i===2){ str += "-"; } if(i===3){ str += " "; } if(i>=4){ str += ":"; } for (var ii = 0; ii < parts.length; ii++) { let type = parts[ii]["type"] let value = parts[ii]["value"] if(fmtArr[i]===type){ str = str += value; } } } return str; } console.log(format(Date.now()));
2条答案
按热度按时间ljo96ir51#
要在DayJS中格式化字符串以显示加号,您可以使用格式字符串YYYY-MM-DDTHH:mm:ssZ,其中T是分隔日期和时间的文字字符串“T”,Z表示±hh:mm格式的时区偏移。让我知道这个代码是否适合你。
lymnna712#
不需要任何第三方日期库。使用本机Intl.DateTimeFormat。
Intl.DateTimeFormat.prototype.formatToParts()
下面是如何使用此方法的示例。您需要修改它以获得所需的结果: