代码之家  ›  专栏  ›  技术社区  ›  Boon

如何使NSDateFormatter显示特定于区域设置的日期?

  •  13
  • Boon  · 技术社区  · 15 年前

    以下是我的代码:

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
        [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
        [dateFormatter setDateFormat:@"MMMM dd, yyyy kk:mm:ss"];
    
        self.creationDate.text = [dateFormatter stringFromDate:creationTimeStamp];
    
    3 回复  |  直到 15 年前
        1
  •  32
  •   fbrereto    15 年前

    我想试试下面的方法 NSDateFormatter

    + (NSString *)localizedStringFromDate:(NSDate *)date
                  dateStyle:(NSDateFormatterStyle)dateStyle
                  timeStyle:(NSDateFormatterStyle)timeStyle;
    

    像这样:

    self.creationDate.text = [NSDateFormatter localizedStringFromDate:creationTimeStamp
                                              dateStyle:NSDateFormatterMediumStyle
                                              timeStyle:NSDateFormatterShortStyle];
    

    这将为您提供所需的输出,稍微整理代码,并防止您管理一些虚假内存。

        2
  •  12
  •   avelis Michael    9 年前

    setDateFormat setDateStyle setTimeStyle

        3
  •  0
  •   Zorayr    10 年前

    采用@fbrereto设计的独立解决方案:

    static NSString *FormatDate(NSDate *date)
    {
      return [NSDateFormatter localizedStringFromDate:date
                                            dateStyle:NSDateFormatterMediumStyle
                                            timeStyle:NSDateFormatterNoStyle];
    }
    

    现在,您只需运行:

    NSString *formattedDate = FormatDate([NSDate new]);