预期输出: 2019年1月1日或 2019年2月2日。
我在Angular .ts文件中需要它。不在HTML视图文件中。
答案 0 :(得分:5)
您可以使用Date():
this.curdate = (new Date().getMonth() + 1).toString() + '-' + new Date().getFullYear().toString();
请注意,new Date().getMonth()
从0到11开始,因此您需要+1使其从1到12。
要基于相关的post添加前导0,您可以执行以下操作:'0' + (new Date().getMonth() + 1).toString().slice(-2)
说明:
由于'0'
不是数字,而是一个字符串,当您将(+
)与另一个字符串相加时,它将被连接起来。然后.slice(-2)
给我们字符串的最后两个字符。如果是一位数字,则为0x
月;如果是两位数字,则为0 + xx
月,返回。
例如参见代码段:
var d = '0' + (new Date().getMonth() + 1).toString().slice(-2) + '-' + new Date().getFullYear().toString();
document.getElementById("demo").innerHTML = d;
<p id="demo"></p>
答案 1 :(得分:2)
您可以使用内置的日期管道:
{{date | date:'MM-dd'}}
并传递您自己的格式。
更新
尝试使用类似JS的解决方案:
m = new Date().getMonth().toString() + 1;
y = new Date().getFullYear().toString();
return m + '-' + y;
答案 2 :(得分:1)
或者,您可以将DatePipe
或FormatDate
导入component.ts。
1)DatePipe:
import { DatePipe } from '@angular/common';
export class SampleComponent implements OnInit {
constructor(private datePipe: DatePipe) {}
transformDate(date) {
return this.datePipe.transform(date, 'MM-yyyy');
}
}
不要忘记将DatePipe添加到模块中的提供程序。
providers: [DatePipe]
2)formatDate:
import { formatDate } from '@angular/common';
export class SampleComponent implements OnInit {
constructor(@Inject(LOCALE_ID) private locale: string) {}
transformDate(date) {
return formatDate(date, 'MM-yyyy', this.locale);
}
}