我的URL中包含带有名称的dob列表,并且在这种情况下响应为“ 1993-03-28” .......沿着名称,我必须将日期显示为3月28日,我创建了数组个月的工作时间,但是它为我的代码为所有成员打印所有相同的日期
var dob = "\(arrdata[indexPath.section].dob)"
print(dob)
var dobSplit = dob.split(separator:"-")
print (dobSplit)
var mont = dobSplit[1]
var dat = dobSplit[2]
print(dat,mont)
var monthArray = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
print(monthArray)
print(monthArray[Int(mont)!-1])
var mo = monthArray[Int(mont)!-1]
var finalDOB = dat + " " + mo
print(finalDOB)
// cell.dateLbl.text = "\(arrdata[indexPath.row+1].dob)"
// instead of that I gave like this
cell.dateLbl.text = finalDOB
对于所有显示相同日期的名称
EX:Rohit 3月28日
拉胡尔3月28日
Sohit 3月28日
科尔迪普3月28日
答案 0 :(得分:0)
使用 DateFormatter
获取所需的日期格式,如
func getFormattedDate(from str: String) -> String? {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
if let date = dateFormatter.date(from: str) {
dateFormatter.dateFormat = "dd MMM"
return dateFormatter.string(from: date)
}
return nil
}
要在formattedDate
中添加cell
,请使用 indexPath.row
代替indexPath.section
,即
let dob = "\(arrdata[indexPath.row].dob)"
cell.dateLbl.text = getFormattedDate(from: dob)
如果在cell
的每个tableView
中打印相同的日期,请尝试添加每个{{1}所用的array
的{{1}} }。还有string dates
方法。
答案 1 :(得分:0)
您有错字。更改:
var dob = "\(arrdata[indexPath.section].dob)"
收件人:
var dob = "\(arrdata[indexPath.row].dob)"
此外,使用DateFormatter
将日期字符串从一种格式转换为另一种格式。至少不要硬编码自己的月份字符串。它本地化不好。如果您不想通过Calendar shortMonthNames
正确使用DateFormatter
。