首页 > 解决方案 > 如何在Angular中以字符串格式获取当前月份和年份?

问题描述

预期输出:01-201902-2019字符串。

我在我的 Angular .ts 文件中需要这个。不在 HTML 视图文件中。

标签: javascriptangularionic-framework

解决方案


您可以使用Date()

this.curdate = (new Date().getMonth() + 1).toString() + '-' + new Date().getFullYear().toString();

请注意,new Date().getMonth()从 0 到 11 开始,因此您需要 +1 才能使其从 1 到 12。

更新:

要根据相关帖子添加前导 0,您可以执行以下操作:'0' + (new Date().getMonth() + 1).toString().slice(-2)

解释:

由于'0'不是数字而是字符串,当您将 ( +) 与另一个字符串相加时,它将被连接起来。然后.slice(-2)给我们字符串的最后两个字符。如果是个位数0x,则为月份,如果为两位数xx,则返回 0 + 月份。

例如,请参见片段:

var d = '0' + (new Date().getMonth() + 1).toString().slice(-2) + '-' + new Date().getFullYear().toString();
document.getElementById("demo").innerHTML = d;
<p id="demo"></p>

或者,如果您不希望在两位数月份(10 月、11 月、12 月)上使用尾随 0,您可以根据月份数字长度进行一些检查:(new Date().getMonth() + 1).length > 1 ? new Date().getMonth() + 1 : '0' + (new Date().getMonth() + 1)

var month = (new Date().getMonth() + 1).length > 1 ? new Date().getMonth() + 1 : '0' + (new Date().getMonth() + 1);
var date = (month).toString().slice(-2) + '-' + new Date().getFullYear().toString();
document.getElementById("demo").innerHTML = date;
<p id="demo"></p>


推荐阅读