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

无年份的本地化日期

  •  0
  • skaak  · 技术社区  · 4 年前

    在iOS中,我可以为系统区域设置设置日期格式。是否可以为系统区域设置设置一个日期,但不包括年份,例如,对于Europa说“7/17”,对于我们说“17/7”?

    编辑

    我现在正在做这个

            df = [[NSDateFormatter alloc] init];
    
            df.locale = NSLocale.systemLocale;
            [df setLocalizedDateFormatFromTemplate:@"MMMMd"];
    

    但是想知道是否有一个等价于获得例如短或长格式的日期,但没有年份?

    0 回复  |  直到 4 年前
        1
  •  1
  •   Ol Sen    4 年前

    NSLocale.systemLocale NSLocale.currentLocale .
    第一个是通用系统格式,最后一个是遵循用户设置。所以你的日期格式化程序 NSDateFormatter *df = [[NSDateFormatter alloc] init];

    Jul 17 .

    df.locale = NSLocale.currentLocale;
    [df setLocalizedDateFormatFromTemplate:@"dMMM"];
    NSLog(@"%@",[df stringFromDate:[NSDate date]]);
    

    July 17 .
    dd 07 一个月的第七天。

    df.locale = NSLocale.currentLocale;
    [df setLocalizedDateFormatFromTemplate:@"ddMMMM"];
    NSLog(@"%@",[df stringFromDate:[NSDate date]]);
    

    但是 系统区域设置 07-17 .

    df.locale = NSLocale.systemLocale;
    [df setLocalizedDateFormatFromTemplate:@"ddMM"];
    NSLog(@"%@",[df stringFromDate:[NSDate date]]);
    

    07/17 .

    df.locale = NSLocale.currentLocale;
    [df setLocalizedDateFormatFromTemplate:@"ddMM"];
    //[df setLocalizedDateFormatFromTemplate:@"MMdd"]; // sorting does'nt matter
    NSLog(@"%@",[df stringFromDate:[NSDate date]]);