Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日期顺序(st,nd,rd,th)角?_Javascript_Angular - Fatal编程技术网

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>