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

时间:2015-04-21 04:56:41

标签: swift xcode6

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

//{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日

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

提前致谢

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

为您提供当天的工作日。它应该是

let stringDate: String = formatter.stringFromDate(dateFromString)

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

答案 2 :(得分:0)

看来你总是从今天开始工作日NSDate()。尝试:

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

希望这有帮助