Swift:尝试显示 indexPath.row 日期字符串中的工作日

Swift: Trying to display weekdays from date string at indexPath.row

我正在获取字符串格式的日期,我想为每一行的每个日期显示工作日。 这是我目前的代码:

//{ConvertDate = "05/04/2015";},{ConvertDate = "05/05/2015";},{ConvertDate = "05/06/2015";},{ConvertDate = "05/07/2015";} etc...

let rowData: NSDictionary = self.tableData[indexPath.row] as! NSDictionary

//convert json date string to nsdate
var dateString = rowData["ConvertDate"] as? String
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
var dateFromString = dateFormatter.dateFromString(dateString!)

//convert string into weekday
var formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "EEEE"
let stringDate: String = formatter.stringFromDate(NSDate())

//my labels        
cell.dateLabel.text = rowData["ConvertDate"] as? String
cell.dayLabel.text = stringDate

每行显示相同的工作日

星期二 2015 年 5 月 4 日

星期二 2015 年 5 月 5 日

星期二 2015 年 5 月 6 日

星期二 2015 年 5 月 7 日

如何根据该行的字符串日期设置工作日。

提前致谢

let stringDate: String = formatter.stringFromDate(NSDate())

为您提供从当前日期开始的工作日。应该是

let stringDate: String = formatter.stringFromDate(dateFromString)

从数据中转换对应元素的日期 源数组。

您似乎总是从今天开始使用工作日 NSDate()。尝试:

let stringDate: String = formatter.stringFromDate(dateFromString!)

希望对您有所帮助

还有另一种方法可以做到这一点,它不使用格式化程序来获取日期名称。您可以在获取日期索引后对第一个 NSDateFormatter 的工作日符号数组进行索引:

let weekdayIndex = NSCalendar.currentCalendar().component(.CalendarUnitWeekday, fromDate: dateFromString!) - 1
let weekdayString = dateFormatter.weekdaySymbols[weekdayIndex]