javascript - 如何在Angular中以字符串格式获取当前月份和年份?
问题描述
预期输出:01-2019或02-2019字符串。
我在我的 Angular .ts 文件中需要这个。不在 HTML 视图文件中。
解决方案
您可以使用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>
推荐阅读
- java - abstract class inside static block usage
- c - 2D array not updating even after rewriting elements right after
- android - 允许更新特定用户的特定字段 - Firebase Firestore 规则
- python - gzip.open("file.tar.gz", "rb") vs. tarfile.open("file.tar.gz"); extractall()
- javascript - 在渲染中反应映射的组件。如何不让它重新映射每次重新渲染?
- scala - 如何在 scala 中制作列表长度方法?
- python - 如何将一个列表中的单词与列表中的另一个单词进行比较
- javascript - Javascript在对象中添加项目
- python - 用python库PyQt5改变主界面颜色
- java - java程序中的抽象