Dalam aplikasi saya, saya perlu mendapatkan jam dan menit secara terpisah:
NSString *currentHour=[string1 substringWithRange: NSMakeRange(0,2)];
int currentHourInNumber=[currentHour intValue];
Pertimbangkan string1
mengandung 11:59:13 AM
yang datang dari datepicker.
Di sini jika saya menggunakan kode di atas, tidak mengapa mendapatkan jam jika lebih dari 9. Lain saya perlu mengubah NSMakeRange(0,1)
untuk mendapatkan jam antara 1 hingga 9.
Apakah ada metode untuk mendapatkan jam, menit, dll?
Terima kasih sebelumnya, berikan saya kode sampel.
ios
objective-c
nsdate
hour
Mac
sumber
sumber
Jawaban:
Gunakan NSDateFormatter untuk mengubahnya
string1
menjadiNSDate
, lalu dapatkan NSDateComponents yang diperlukan :Obj-C :
Swift 1 dan 2 :
Cepat 3 :
Lebih lanjut tentang dateformat adalah di situs unicode resmi
sumber
Jika Anda hanya membutuhkannya untuk menyajikan sebagai string, kode berikut jauh lebih mudah
sumber
Menurut saya, inilah pertanyaannya, tidak perlu pemformat:
sumber
NSDateComponents
Semua yang Anda butuhkan dapat ditemukan di sini:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html
sumber
Jika Anda menggunakan pustaka C maka ini bisa dilakukan:
Dan menggunakan Swift:
Untuk panduan lebih lanjut lihat: http://www.cplusplus.com/reference/ctime/localtime/
sumber
Dengan iOS 8, Apple memperkenalkan metode pembantu untuk mengambil
hour
,minute
,second
dannanosecond
dari objek NSDate.Objective-C
Cepat
sumber
Swift 2.0
Anda dapat melakukan hal-hal berikut untuk mendapatkan jam dan menit dari sebuah tanggal:
sumber
Swift 2.0
Harap perhatikan cast ke String di pernyataan cetak, Anda dapat dengan mudah menetapkan nilai itu ke variabel, seperti ini:
Kemudian Anda dapat menggabungkan nilai seperti ini:
sumber