Saya menggunakan date
pipa untuk memformat tanggal saya, tetapi saya tidak bisa mendapatkan format yang tepat yang saya inginkan tanpa penyelesaian. Apakah saya salah memahami pipa atau tidak mungkin?
//our root app component
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<h3>{{date | date: 'ddMMyyyy'}}, should be
{{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>
</div>
`,
directives: []
})
export class App {
constructor() {
this.name = 'Angular2'
this.date = new Date();
}
}
date
pipa memiliki beberapa masalah saat.Jawaban:
Bug format tanggal pipa diperbaiki di Angular 2.0.0-rc.2, Permintaan Tarik ini .
Sekarang kita bisa melakukan cara konvensional:
Contoh:
Versi sekarang:
Example Angular 8.x.x
Versi lama:
Example Angular 7.x
Example Angular 6.x
Example Angular 4.x
Example Angular 2.x
sumber
<input #dob="ngModel" [(ngModel)]="model.dob" [ngClass]="{ 'is-invalid': f.submitted && dob.invalid }" class="form-control" id="dob" name="dob" required type="date" />
bagaimana saya bisa memperbaikinya?Impor DatePipe dari sudut / umum dan kemudian gunakan kode di bawah ini:
di mana userdate akan menjadi string tanggal Anda. Lihat apakah ini membantu.
Catat huruf kecil untuk tanggal dan tahun:
EDIT
Anda harus meneruskan
locale
string sebagai argumen ke DatePipe, dalam sudut terbaru. Saya telah menguji dalam sudut 4.xSebagai contoh:
sumber
Supplied parameters do not match any signature of call target.
kenew DatePipe()
new DatePipe('en-US');
Anda dapat mencapai ini dengan menggunakan pipa kustom sederhana.
Keuntungan menggunakan pipa kustom adalah bahwa, jika Anda ingin memperbarui format tanggal di masa depan, Anda dapat pergi dan memperbarui pipa kustom Anda dan itu akan mencerminkan di mana-mana.
Contoh Pipa kustom
sumber
Saya selalu menggunakan Moment.js ketika saya harus menggunakan tanggal dengan alasan apa pun.
Coba ini:
Dan dalam tampilan:
sumber
moment
perpustakaan terlalu besar untuk pekerjaan kecil seperti format!Saya menggunakan Solusi Sementara ini:
sumber
Jika ada yang mencari dengan waktu dan zona waktu, ini untuk Anda
tambahkan z untuk zona waktu pada format tanggal dan waktu akhir
sumber
Sudut: 8.2.11
Keluaran: 9 Juni 1973
Output: 09/06/1973
Output: 09/06/1973 12:00 pagi
sumber
Satu-satunya hal yang berhasil bagi saya terinspirasi dari sini: https://stackoverflow.com/a/35527407/2310544
Untuk murni hh / MM / tttt, ini bekerja untuk saya, dengan angular 2 beta 16:
sumber
Jika ada yang bisa menampilkan tanggal dengan waktu di AM atau PM di sudut 6 maka ini untuk Anda.
Keluaran
Opsi format yang ditentukan sebelumnya
Contoh diberikan di lokal en-AS.
Tautan Referensi
sumber
Saya pikir itu karena lokal hardcoded ke dalam
DatePipe
. Lihat tautan ini:Dan tidak ada cara untuk memperbarui lokal ini dengan konfigurasi sekarang.
sumber
Pipa tanggal tidak berperilaku dengan benar di Angular 2 dengan Typcript untuk browser Safari di MacOS dan iOS. Saya menghadapi masalah ini baru-baru ini. Saya harus menggunakan momen js di sini untuk menyelesaikan masalah. Menyebutkan apa yang telah saya lakukan singkatnya ...
Tambahkan paket npm momentjs di proyek Anda.
Di bawah xyz.component.html, (Perhatikan di sini bahwa startDateTime adalah string tipe data)
{{ convertDateToString(objectName.startDateTime) }}
import * as moment from 'moment';
sumber
Anda dapat menemukan informasi lebih lanjut tentang pipa tanggal di sini , seperti format.
Jika Anda ingin menggunakannya dalam komponen Anda, Anda bisa melakukannya
Sekarang, Anda cukup menggunakan metode transformasi, yang akan menjadi
sumber
Anda harus meneruskan string lokal sebagai argumen ke DatePipe.
Opsi format yang ditentukan sebelumnya:
tambahkan datepipe di app.component.module.ts
sumber
Anda juga dapat menggunakan momentjs untuk hal-hal semacam ini. Momentjs paling baik mengurai, memvalidasi, memanipulasi, dan menampilkan tanggal dalam JavaScript.
Saya menggunakan pipa ini dari Urish, yang berfungsi dengan baik untuk saya:
https://github.com/urish/angular2-moment/blob/master/src/DateFormatPipe.ts
Dalam parameter args Anda dapat meletakkan format tanggal Anda seperti: "dd / mm / yyyy"
sumber
Dalam kasus saya, saya menggunakan file komponen:
Dan dalam file HTML komponen
Ini berfungsi dengan baik untuk saya ;-)
sumber