Как передать только дату из угловых 6 в веб-API - PullRequest
0 голосов
/ 23 марта 2019

Я передаю дату из моего углового приложения 6 в веб-API.Проблема в том, что я выбираю, например, 10 марта 2019 года из DatePicker.Когда я получаю это в веб-интерфейсе API, он конвертирует его в 9 марта 18:30, я думаю, что это время с часовым поясом, но мне не нужно время, я просто хочу передать дату.

Ниже следует угловой код

  getBookingList() {

    this.bookingListSubscription = this.restService.getBookingListForGrid(this.booking).subscribe(
  data => {
    setTimeout(() => {
      if (data.status = '200') { 
      this.bookingList = data;
      this.bookingList.forEach((element) => {
        element.StartDate =  this.datePipe.transform(element.StartDate, "dd/MM/yyyy"),
          element.EndDate = new Date(element.EndDate);
      });
    }, 3000)
  });
  }

И я сохраняю дату в формате DateTime в c #.

Ответы [ 2 ]

1 голос
/ 23 марта 2019

Вы можете использовать Angular's DatePipe:

Импортировать это:

import { DatePipe } from '@angular/common';

и в конструкторе:

constructor(private datePipe: DatePipe){}

и дляизменить формат выбранной даты вы можете просто используя метод преобразования:

this.datePipe.transform(this.date, "your_expected_date_format"); // Format: dd/MM/yyyy OR dd-MM-yyyy OR yyyy-MM-dd

Код TS:

import {Component} from '@angular/core';
import {FormControl} from '@angular/forms';


import { DatePipe } from '@angular/common';

/** @title Select with multiple selection */
@Component({
  selector: 'select-multiple-example',
  templateUrl: 'select-multiple-example.html',
  styleUrls: ['select-multiple-example.css'],
   providers: [
    DatePipe
  ]
})
export class SelectMultipleExample {

  date : any;
  formatedDate : any;

  constructor(private datePipe: DatePipe){}

  onSubmit(){
   this.formatedDate =  this.datePipe.transform(this.date, "dd/MM/yyyy");
  }
}

Stackblitz

0 голосов
/ 23 марта 2019

Альтернативным решением для использования DatePipe будет использование formatDate . Я передал следующие значения: дата, формат времени и локаль в качестве параметров.

На вашем component.ts вы можете сделать что-то вроде этого:

import { formatDate } from '@angular/common';

export class AppComponent  {
  locale: string = 'en-US';
  format: string = 'dd-mm-yyyy'
  date: Date = new Date();

  constructor() {}

  transformDate(date) {
    console.log(formatDate(this.date, this.format, this.locale));
    return formatDate(this.date, this.format, this.locale);
  }
}

Я воспроизвел демо , чтобы продемонстрировать использование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...