【问题标题】:Angular FormControl date format is not the format i want in jsonAngular FormControl 日期格式不是我想要的 json 格式
【发布时间】:2020-01-30 13:13:55
【问题描述】:

我正在开发一个 Angular 网络应用程序。我从 ReactiveForm 获取数据,问题是当我在表单的 json 值中获取日期时,格式是“YYYY-MM-DD”(日期输入格式),而我想要格式“YYYYMMDD”(不带 -)在我的 json .我需要这种格式,因为我将 post 请求中的值发送到 API。

我已经在寻找如何更改输入格式但我没有找到任何东西。

你能帮帮我吗?

我如何解析我的 json 以适合我的表单(我需要将日期转换为输入格式):

this.mapStringToDateInputFormat(dayInformation);

mapStringToDateInputFormat(value: any) {
  const initialDateString: string = value.date;
  const year = initialDateString.substr(0, 4);
  const month = initialDateString.substr(4, 2);
  const day = initialDateString.substr(6, 2);
  value.date = `${year}-${month}-${day}`;
}

【问题讨论】:

  • 请提供您的代码以及您使用的日期字段

标签: angular format angular-reactive-forms datefield


【解决方案1】:

在您的应用程序中使用 moment 可以更轻松地进行与日期和时间相关的转换

通过 npm 安装 momentjs

npm install moment --save  

在您的 ts 文件中像这样导入它并使用 moment 进行转换相关操作

import moment from 'moment';


date="2018-08-23"
convrtdDate=moment(this.date).format(''YYYYMMDD'') //20180823

【讨论】:

    【解决方案2】:

    我需要这种格式,因为我将 post 请求中的值发送到 API。

    好吧,您需要决定要使用哪种数据。并更改服务,以便您的组件使用此类数据。例如您可以拥有具有此功能的服务:

    getData(id)
    {
        return this.httpClient(....).pipe(map((x:any)=>{
            x.date=x.date.substr(0, 4)+'-'+x.date.substr(4, 2)+'-'+
                   x.datesubstr(6, 2);
            return x
        }))
    }
    getListData()
    {
        return this.httpClient(....).pipe(map((res:any[])=>{
            res.forEach((x:any)=>
            {
               x.date=x.date.substr(0, 4)+'-'+x.date.substr(4, 2)+'-'+
                   x.datesubstr(6, 2);
            })
            return res
        })
    }
    
    //when you insert/update
    insert(data:any)
    {
         data.date=data.date.substr(0, 4)+data.date.substr(5, 2)+
                   data.datesubstr(8, 2);
         this.http.post(...,data)
    }
    

    如果在以后的改进中,改变你接收数据的方式,你只需要根据这个改变来改变服务

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-25
      • 2014-03-02
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多