angular typescript获取格式化日期及前后范围日期
程序员文章站
2022-07-03 17:26:25
...
1:TypeScript 获取时间戳:
Date.parse(new Date().tostring());
2:TypeScript获取格式化日期:
static getNowDate(): string {
const date = new Date();
let month: string | number = date.getMonth() + 1;
let strDate: string | number = date.getDate();
if (month <= 9) {
month = "0" + month;
}
if (strDate <= 9) {
strDate = "0" + strDate;
}
return date.getFullYear() + "-" + month + "-" + strDate + " "
+ date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
}
3:日期工具类:
dateTime.ts:
formatDate(){
// 格式化日期,获取今天的日期
const Dates = new Date(time);
const year: number = Dates.getFullYear();
const month: any = (Dates.getMonth() + 1) < 10 ? '0' + (Dates.getMonth() + 1) : (Dates.getMonth() + 1);
const day: any = Dates.getDate() < 10 ? '0' + Dates.getDate() : Dates.getDate();
const hours = Dates.getHours() < 10 ? '0' + Dates.getHours() : Dates.getHours();
const minutes = Dates.getMinutes() < 10 ? '0' + Dates.getMinutes() : Dates.getMinutes();
const seconds = Dates.getSeconds() < 10 ? '0' + Dates.getSeconds() : Dates.getSeconds();
//返回数据格式
return year + '-' + month+ '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
}
4.前后范围方法
/**
* @param {number} range
* @param {string} [type]
* @memberOf VehicleOverviewComponent
* @description 获取今天及前后天
*/
getRangeDate( range: number, type?: string ) {
const formatDate = ( time: any ) => {
// 格式化日期,获取今天的日期
const Dates = new Date( time );
const year: number = Dates.getFullYear();
const month: any = ( Dates.getMonth() + 1 ) < 10 ? '0' + ( Dates.getMonth() + 1 ) : ( Dates.getMonth() + 1 );
const day: any = Dates.getDate() < 10 ? '0' + Dates.getDate() : Dates.getDate();
return year + '-' + month + '-' + day;
};
const now = formatDate( new Date().getTime() ); // 当前时间
const resultArr: Array<any> = [];
let changeDate: string;
if ( range ) {
if ( type ) {
if ( type === 'one' ) {
changeDate = formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * range ) );
console.log( changeDate );
}
if ( type === 'more' ) {
if ( range < 0 ) {
for ( let i = Math.abs( range ); i >= 0; i-- ) {
resultArr.push( formatDate( new Date().getTime() + ( -1000 * 3600 * 24 * i ) ) );
console.log( resultArr );
}
} else {
for ( let i = 1; i <= range; i++ ) {
resultArr.push( formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * i ) ) );
console.log( resultArr );
}
}
}
} else {
changeDate = formatDate( new Date().getTime() + ( 1000 * 3600 * 24 * range ) );
console.log( changeDate );
}
}
}
调用及结果
range参数支持正负数,里面也加了判断;
type【为可选参数】有两种,一个是字符串one,一个是more;前者返回一个指定的日期;后者返回一个排序好的范围
getRangeDate( -6 );// 结果:2017-02-09
getRangeDate( -6, 'one' );// 结果:2017-02-09
getRangeDate( -6, 'more' );
// 结果
// ["2017-02-09", "2017-02-10", "2017-02-11", "2017-02-12", "2017-02-13", "2017-02-14", "2017-02-15"]
上一篇: Svelte学习笔记一: 环境搭建和第一个Svelte程序
下一篇: 常用命令