Javascript 日期顺序(st,nd,rd,th)角?
我需要得到低于日期的格式Javascript 日期顺序(st,nd,rd,th)角?,javascript,angular,Javascript,Angular,我需要得到低于日期的格式 30th July 2019 我所尝试的 <time-zone time="{{ 2019-07-31 18:30:00 }}" format="DD MMM YYYY"></time-zone> 结果:2019年8月1日您可以构建自定义日期筛选器以添加后缀rd、th和st 自定义筛选器在下面的代码段中编写,以获取日期值“dd” 并根据日期计算后缀 var-app=angular.module('plunker',[]); app.f
30th July 2019
我所尝试的
<time-zone time="{{ 2019-07-31 18:30:00 }}" format="DD MMM YYYY"></time-zone>
结果:2019年8月1日您可以构建自定义日期筛选器以添加后缀rd、th和st 自定义筛选器在下面的代码段中编写,以获取日期值“dd” 并根据日期计算后缀
var-app=angular.module('plunker',[]);
app.filter('dateSuffix',函数($filter){
变量后缀=[“th”、“st”、“nd”、“rd”];
返回函数(输入){
var dtfilter=$filter('date')(输入'dd');
var-day=parseInt(dtfilter,10);
var相关数字=(日<30)?日%20:日%30;
var suffix=(relevantDigits您可以创建一个自定义的序号日期管道,如
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'ordinalDate'
})
export class OrdinalDatePipe implements PipeTransform {
transform(value: Date): string {
if (!value) {
return '';
}
let months= ["January","February","March","April","May","June","July",
"August","September","October","November","December"]
return `${value.getDate()}${this.nth(value.getDate)} ${months[value.getMonth()]} ${value.getFullYear()}`;
}
nth(d) {
if (d > 3 && d < 21) return 'th';
switch (d % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
}
或者,如果您已经在项目中使用了Moment.js库,则可以使用其库方法转换为序号:
moment.localeData().ordinal(5);/5th
矩().format('Do MMMM YYYY');//2020年9月5日
使用日期fns:
import { Pipe, PipeTransform } from '@angular/core'
import { format } from 'date-fns'
@Pipe({name: 'dateFnsFormat'})
export class DateFnsFormatPipe implements PipeTransform {
transform(date: Date, formatStr: string, options: any = {}): string {
return format(date, formatStr, options)
}
}
用法:
<span>{{ selectedDate | dateFnsFormat: 'do MMMM, y' }}</span>
{{selectedDate}dateFnsFormat:'do MMMM,y'}
结果:
2021年4月4日
fns文件日期:
不知道时区是什么,但angular有一个内置的日期管道是的,我试图获得这种格式,2019年7月30日,但唯一的问题是在日期之后获得'th'或'st'。我真的在寻找后缀为rd,th和streely-efficiency的get,如果在项目中使用了矩,并且您想要序号w无需创建自定义管道或任何东西。
<span>{{ selectedDate | dateFnsFormat: 'do MMMM, y' }}</span>