新年快乐,全部!
如何将datePicker
文字显示为Jan 1, 2017
而不是2017/1/1
?在我的PlayGround中,它看起来像预期的那样,但在我的模拟器或控制台中,它看起来不是预期的。
// createDatePicker():
datePicker.datePickerMode = .date
// donePressed():
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .none
dateFormatter.dateFormat = "mm/dd/yyyy"
let fromString = dateFormatter.string(from: datePicker.date)
let date = dateFormatter.date(from: fromString) // I dont need time but got Jan 1, 2017, 12:00 AM in playground
datePickerText.text = "\(date)"
print("\(date)") // in console: Optional(2017-1-1 00:00:00 +0000)
我需要摆脱Optional()
但不确定如何将Date!
转换为String!
。如何让文字成为Jan 1, 2017
?
答案 0 :(得分:1)
在您的代码中,您将日期转换为日期字符串: -
let fromString = dateFormatter.string(from: datePicker.date)
let date = dateFormatter.date(from: fromString) //Avoid this line in your code
然后无需再将日期字符串更改为日期,请尝试以下代码: -
let formatter = DateFormatter()
formatter.dateFormat = "MMM d, yyyy" //Date Formatting
let date = formatter.string(from: datePicker.date)
datePickerText.text = date
print(date)
<强>输出: - 强>
Jan 1, 2017
答案 1 :(得分:0)
只需将日期格式化为您希望的日期,如下所示:
dateFormatter.dateFormat = "MMM d, yyyy"
let fromString = dateFormatter.string(from: datePicker.date)
print(fromString) // Jan 1, 2017
答案 2 :(得分:0)
你可以试试这个!
let formatter = NSDateFormatter()
formatter.dateformat = "MMMM dd,YYYY"
如果您要尝试显示日期格式的标签,
label.text = formatter.stringFromDate(datepicker.date)