簡體   English   中英

如何將NSString轉換為日期格式化的字符串

[英]How to convert NSString to a date formattted string

我有一個值01012016字符串,我想向用戶顯示,如01-01-2016 為此,我正在使用以下代碼

-(NSString *)dateToFormatedDate:(NSString *)dateStr {

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];

    [dateFormatter setDateFormat:@"MM-dd-yyyy"];
    NSDate *date = [dateFormatter dateFromString:dateStr];

    NSLog(@"date is %@", [dateFormatter stringFromDate:date]);
    return [dateFormatter stringFromDate:date];
}

但是此方法始終返回nil。 我已經嘗試過模擬器和設備兩者。 我無法弄清楚我在這里做錯了什么

NSDateFormatter的格式與您嘗試傳遞的字符串不匹配。 看看這個相關的問題...

將字符串轉換為NSDate

您要做的是將NSDateFormatter設置為與字符串匹配,然后從該字符串創建NSDate對象后,將NSDateFormatter更改為所需的輸出格式。 像這樣

-(NSString *)dateToFormatedDate:(NSString *)dateStr {

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];

  [dateFormatter setDateFormat:@"MMddyyyy"];
  NSDate *date = [dateFormatter dateFromString:dateStr];
  [dateFormatter setDateFormat:@"MM-dd-yyyy"];

  NSLog(@"date is %@", [dateFormatter stringFromDate:date]);
  return [dateFormatter stringFromDate:date];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM