ios - 如何在swift 3中将日期范围转换为字符串?
<p><p>如何将日期转换为字符串格式? </p>
<p>我得到两个日期之间的日期(从开始到结束日期)。我正在使用以下方法</p>
<pre><code>class Dates {
static func printDatesBetweenInterval(_ startDate: Date, _ endDate: Date) {
var startDate = startDate
let calendar = Calendar.current
let fmt = DateFormatter()
fmt.dateFormat = "yyyy-MM-dd"
while startDate <= endDate {
print(fmt.string(from: startDate))
startDate = calendar.date(byAdding: .day, value: 1, to: startDate)!
}
}
static func dateFromString(_ dateString: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
return dateFormatter.date(from: dateString)!
}}
</code></pre>
<p>在这里打印日期</p>
<pre><code>Dates.printDatesBetweenInterval(Dates.dateFromString("2017-10-02"), Dates.dateFromString("2017-10-9"))
</code></pre>
<p>结果:</p>
<pre><code>2017-10-02 2017-10-03 2017-10-04 2017-10-05 2017-10-06 2017-10-07 2017-10-08 2017-10-09
</code></pre>
<p>现在,我想将此日期以字符串格式传递给日历(我在应用程序中使用 FSCalendar 库)。我想要这种格式
示例:</p>
<pre><code>["2017-10-02", "2017-10-03", "2017-10-04", "2017-10-05", "2017-10-06", "2017-10-07", "2017-10-08", "2017-10-09"]
</code></pre>
<p>谁能指导我。谢谢</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><pre><code>static func getDatesStringBetweenInterval(_ startDate: Date, _ endDate: Date)-> String {
var retval = "["
var startDate = startDate
let calendar = Calendar.current
let fmt = DateFormatter()
fmt.dateFormat = "yyyy-MM-dd"
while startDate <= endDate {
if startDate < endDate {
retval.append("\"\(fmt.string(from: startDate))\", ")
} else {
retval.append("\"\(fmt.string(from: startDate))\"")
}
startDate = calendar.date(byAdding: .day, value: 1, to: startDate)!
}
retval.append("]")
return retval
}
</code></pre>
<p>用法:</p>
<pre><code>let aDate = Dates.dateFromString("2017-01-01")
let bDate = Dates.dateFromString("2017-01-05")
let datesString = Dates.getDatesStringBetweenInterval(aDate, bDate)
print(datesString)
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何在swift 3中将日期范围转换为字符串?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/46811163/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/46811163/
</a>
</p>
页:
[1]