Bagaimana cara saya mengubah NSString
" 01/02/10 " (artinya 1 Februari 2010) menjadi NSDate
? Dan bagaimana saya bisa mengubah bagian NSDate
belakang menjadi string?
ios
objective-c
nsstring
nsdate
cannyboy
sumber
sumber
Jawaban:
Cepat 4 dan kemudian
Diperbarui: 2018
String to Date
Date to String
Cepat 3
Diperbarui: 20 Juli 2017
String ke NSDate
NSDate to String
Cepat
Diperbarui: 22 Oktober 2015
String ke NSDate
NSDate to String
Objektif-C
NSString ke NSDate
NSDate dikonversi ke NSString:
sumber
NSDate *dateFromString = [[NSDate alloc] init];
jika menetapkan nilai baru ke pointer di baris berikutnya ???UPDATE 2019 (Swift 4):
Membuat
Date
ekstensi untuk itu. Ini menggunakanNSDataDetector
alih-alihNSDateFormatter
.Cukup menyenangkan, bahkan mengenali hal-hal seperti "Tomorrow at 5" .
Seperti:
UPDATE 2014:
Membuat ekstensi NSString untuk itu.
Berkat NSDataDetector , ia mengenali banyak format.
Bagian dari kit eppz ! , ambil kategori NSString + EPPZKit.h dari GitHub.
JAWABAN ASLI 2013:
Apakah Anda tidak yakin (atau tidak peduli) tentang format tanggal yang terkandung dalam string, gunakan NSDataDetector untuk tanggal parsing .
sumber
NSString
->2013-09-11 01:31:22 +0000
mengkonversi keNSDate
->2013-09-11 13:31:22 +0000
XCTAssertEqual(Date.FromString("2013-09-11 01:31:22 +0000"), Date.FromCalendar(2013, 9, 11, 1, 31, 22))
tampaknya baik-baik saja.Saat menggunakan tanggal dengan format tetap, Anda perlu mengatur lokal formatter tanggal
"en_US_POSIX"
.Diambil dari Panduan Pemformatan Data
Cepat 3 atau lebih baru
pemakaian:
Memisahkan tanggal khusus dan mengonversi tanggal kembali ke format string yang sama:
Ini dia semua elemen yang bisa Anda gunakan untuk menyesuaikannya seperlunya:
sumber
Mengapa tidak menambahkan kategori ke NSString?
sumber
menggunakan "10" untuk mewakili satu tahun tidak baik, karena itu bisa 1910, 1810, dll. Anda mungkin harus menggunakan 4 digit untuk itu.
Jika Anda dapat mengubah tanggal menjadi sesuatu seperti
Maka Anda dapat menggunakan:
sumber
sumber
sumber
Jika Anda ingin mengatur format gunakan kode di bawah ini:
sumber
Gunakan metode ini untuk mengonversi dari
NSString
keNSdate
:sumber
Jika ada orang yang tertarik melakukan sesuatu seperti ini di Swift akhir-akhir ini, saya mulai dengan sesuatu, meskipun itu tidak sempurna.
sumber
Tanggal untuk NSString
NSString ke NSDate
sumber
Anda dapat menggunakan ekstensi untuk ini.
Jadi sementara eksekusi kode aktual akan terlihat seperti berikut
Ada beberapa metode standar juga tapi saya kira itu mungkin tidak berfungsi untuk format yang Anda berikan dari dokumentasi
sumber
Praktik terbaik adalah membangun sendiri kelas umum tempat Anda meletakkan semua metode penggunaan umum, metode yang berguna di hampir semua proyek dan menambahkan kode yang disarankan oleh @Pavan sebagai:
.. dan seterusnya untuk semua metode bermanfaat lainnya
Dengan melakukannya, Anda mulai membuat kode yang dapat digunakan kembali yang bersih untuk aplikasi Anda. Bersulang!
sumber
Sesuai Swift 2.2
Anda bisa mendapatkan NSDate dengan mudah dari String dan String dari NSDate. misalnya
Pengaturan format tanggal pertama
Sekarang dapatkan tanggal dari string dan sebaliknya.
Sekarang nikmati.
sumber
NSString ke NSDate atau NSDate ke NSString
sumber
Contoh di atas tidak hanya ditulis untuk Swift 3.0+
Perbarui - Swift 3.0+ - Konversi Tanggal Ke String
sumber
String To Date
Date To String
sumber