代码之家  ›  专栏  ›  技术社区  ›  Alex Stone

iOS Swift4如何仅使用DateFormatter()打印短工作日?

  •  0
  • Alex Stone  · 技术社区  · 6 年前

    我想让日期格式化打印只有简短的工作日标签,如“周一,周二,周三”。

    将日期转换为3个字母的工作日字符串的正确日期格式是什么?

    let formatter = DateFormatter()
    formatter.dateFormat = "DDD" //prints 278 and like
    
    2 回复  |  直到 6 年前
        1
  •  11
  •   Alex Stone    6 年前

    let formatter = DateFormatter()
    formatter.dateFormat = "EEE"
    
    
    E..EEE  Tue Abbreviated Day of week name, format style.
    EEEE    Tuesday Wide
    EEEEE   T   Narrow
    EEEEEE  Tu  Short
    
        2
  •  3
  •   Sanket Ray    6 年前

    用这个 http://nsdateformatter.com

    Monday, Oct 8, 2018 = EEEE, MMM d, yyyy
    
    10/08/2018 = MM/dd/yyyy
    
    10-08-2018 04:29 = MM-dd-yyyy HH:mm
    
    Oct 8, 4:29 AM = MMM d, h:mm a
    
    October 2018 = MMMM yyyy
    
    Oct 8, 2018 = MMM d, yyyy
    
    Mon, 8 Oct 2018 04:29:53 +0000 = E, d MMM yyyy HH:mm:ss Z
    
    2018-10-08T04:29:53+0000 = yyyy-MM-dd'T'HH:mm:ssZ
    
    08.10.18 = dd.MM.yy
    
        3
  •  0
  •   Rufat Mirza    4 年前

    .

    let weekdayIndex = Calendar.current.component(.weekday, from: Date()) - 1
    let weekday = DateFormatter().shortWeekdaySymbols[weekdayIndex]
    print(weekday)
    
    // Outputs: Fri, Tue or whatever day is today
    

    那个 -1 首先是因为 Calendar.current.component(.weekday, from: Date()) 返回从1到7的范围,而 shortWeekdaySymbols 需要一个从0到6的索引。

    请注意,如果您想获得其他格式,例如 Friday Fri ,可以使用列出的其他方法 here