programing

오전 / 오후 형식으로 시간을 얻는 방법 iphone NSDateFormatter?

copyandpastes 2021. 1. 16. 10:59
반응형

오전 / 오후 형식으로 시간을 얻는 방법 iphone NSDateFormatter?


NSDateFormatter를 사용하여 iPhone 앱에서 작업 중입니다. 같은 웹 서비스에서 시간을 얻고 "00:00:00", "16:00:00","15:30:00" and so on있습니다. 이 시간을 시간이 "00:00:00" to "12 AM"인 경우, 시간이 "16:00:00" to "4 PM"인 경우, 시간이 "15:30:00"이면 "3.30 PM"으로 변환해야합니다. 나는 이것에 아래 코드를 사용했지만 통과했을 때 "16:00:00" the date returns null.

 NSString *dats1 = @"16:00:00";
 NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
 [dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];  
 [dateFormatter3 setDateFormat:@"hh:mm:ss"]; 
 NSDate *date1 = [dateFormatter3 dateFromString:dats1];
 NSLog(@"date1 : %@", date1); **// Here returning (null)**

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 [formatter setDateFormat:@"hh:mm a"];
 NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **// Here also returning (null)**
 [formatter release];

"00:00:00"을 전달하면 "12 AM"이 올바르게 반환됩니다. 누구 든지이 문제를 해결하도록 도와 주시겠습니까? 미리 감사드립니다.


시간 형식이 in이면 형식을 24hrs사용하십시오 "HH:mm:ss". 코드를 테스트하고 작동하는지 알려주십시오. 나는 테스트했고 그것이 돌아오고있다"4 PM"

NSString *dats1 = @"16:00:00";
 NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
 [dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];  
 [dateFormatter3 setDateFormat:@"HH:mm:ss"]; 
 NSDate *date1 = [dateFormatter3 dateFromString:dats1];
 NSLog(@"date1 : %@", date1); **// Here returning (null)**

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 [formatter setDateFormat:@"hh:mm a"];
 NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **// Here also returning (null)**
 [formatter release];

감사.


.ShortStyle현재 로케일에 맞게 조정되는을 사용할 수 있습니다 .

let timeFormatter = NSDateFormatter()
timeFormatter.dateStyle = .NoStyle
timeFormatter.timeStyle = .ShortStyle
timeFormatter.stringFromDate(NSDate())

반환 17:12하거나 5:12 PM현재 장치 로캘에 따라 다릅니다.


다시 할당하는 이유는 무엇 NSDateFormatter입니까?

으로 포맷 NSDate한 다음 다시 NSString,

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:@"HH:mm:ss"];

    NSDate *date = [dateFormatter dateFromString:dats1];

    [dateFormatter setDateFormat:@"hh:mm a"];

    NSString *formattedDate = [dateFormatter stringFromDate:date];

    NSLog(@"%@",formattedDate);

시도하십시오 HH:mm:ss(대문자는 시간 형식으로 표시).


Swift에서 얻고 싶은 누군가가 도움이되기를 바랍니다.

Swift 용

let dateFormatter = NSDateFormatter()
//if some one want 12AM,5PM then use "hh mm a"
//if some one want 00AM,17PM then use "HH mm a"
dateFormatter.dateFormat = "hh mm a"
let stringDate = dateFormatter.stringFromDate(NSDate())
println(stringDate)

이 아래 코드는 항상 12 시간 형식으로 유지됩니다.

NSLocale *12hourFomrat = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
df.locale = 12hourFomrat;

항상 24 시간 형식으로 유지됩니다.

NSLocale *24hourFormat = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
df.locale = 24hourFormat

날짜 형식은 다음과 같아야합니다.

  [dateFormatter3 setDateFormat:@"HH:mm:ss"]; 

검사 날짜 형식 패턴 도쿠을

참조 URL : https://stackoverflow.com/questions/11608133/how-to-get-the-time-in-am-pm-format-iphone-nsdateformatter

반응형