2011-06-18 34 views
7
- (IBAction) buttonPressed { 
NSDate *selected = [datePicker date]; 
NSString *message = [[NSString alloc] initWithFormat:@"The date and time you selected is: %@", selected]; 
UIAlertView *alert = [[UIAlertView alloc] 
         initWithTitle:@"Date and Time Selected" message:message delegate:nil cancelButtonTitle:@"Yes, I did!" otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
[message release]; 

Vì vậy, câu hỏi của tôi là tiếp theo ... Làm cách nào để chỉ định múi giờ sử dụng Trình ghi ngày tháng trong mục tiêu C? ngay bây giờ nếu tôi chọn một số giá trị từ DatePicker và nhấn nút hiển thị cảnh báo - thời gian là sai. Đó có thể là do múi giờ không chính xác nhưng tôi không chắc chắn. Vâng bất kỳ ý tưởng sẽ là tuyệt vời. Trên hình ảnh bên dưới, bạn có thể thấy rằng tôi đã chọn 14:14 (14:14) mà là một ALTER nói rằng nó là 11:14 và múi giờ là +000Cách chỉ định múi giờ trong UIDatePicker

UPDATE 1 Tôi đã thêm một vài thay đổi mã của tôi, nhưng vẫn không có gì ...

- (IBAction) buttonPressed { 
NSDate *selected = [datePicker date];  
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];  
NSTimeZone *tz = [NSTimeZone systemTimeZone]; 
[dateFormatter setTimeZone:tz]; 
NSString *formattedDate = [dateFormatter stringFromDate:selected]; 
NSString *message = [[NSString alloc] initWithFormat:@"The date and time you selected is: %@", formattedDate]; 
UIAlertView *alert = [[UIAlertView alloc] 
         initWithTitle:@"Date and Time Selected" 
         message:message delegate:nil cancelButtonTitle:@"Yes, I did!" otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
[message release]; 
[dateFormatter release]; 

Trả lời

1

tôi nghĩ rằng điều này là do định dạng ngày được chọn, sử dụng một NSDateFormatter để xác định định dạng ngày thích hợp và sử dụng nó trong chuỗi của bạn, đây là một liên kết Link

+0

Tôi đã thêm một vài thay đổi mã của tôi, nhưng vẫn không có gì ... – Sapozhnick

+0

Đừng đặt múi giờ thứ chỉ là định dạng ngày tức là MM/dd/yyyy – Daniel

+0

[dateFormatter setDateFormat: @ "yyyy-MM-dd 'tại' HH: mm: ss"] - là những gì tôi cần! Cảm ơn bạn rất nhiều Daniel – Sapozhnick

14

Sử dụng tính năng này tại thời điểm sử dụng được xác định datepicker của bạn

datePicker.timeZone = [NSTimeZone localTimeZone];

2

Bạn có thể thiết lập ngày với chuỗi múi giờ như Australia/West (+08:00) , WST, Asia/Kolkata (+05:30), IST

datePicker.timeZone = [NSTimeZone timeZoneWithName:@"timezone string goes here"] ; 
2

trong Swift 3:

datePicker.timeZone = NSTimeZone.local 
3

Bạn có thể thiết lập ngày với múi giờ

Objective C

datePicker.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:10*60*60]; // Like GMT+10 

trong Swift 3:

datePicker.timeZone = TimeZone(secondsFromGMT: 5*60*60) // Like GMT+5 
Các vấn đề liên quan