文字列( "dd MM yyyy"形式)を引数として与えられた翌日を返す関数を記述しようとしています。例えばSwift - 次の日付を取得する
:
let nextDay = getNextDay("31 12 2016")
print(nextDay)
は印刷されます:
01 01 2017
を誰かがこれを行う方法私を見ることができますか?ありがとう
文字列( "dd MM yyyy"形式)を引数として与えられた翌日を返す関数を記述しようとしています。例えばSwift - 次の日付を取得する
:
let nextDay = getNextDay("31 12 2016")
print(nextDay)
は印刷されます:
01 01 2017
を誰かがこれを行う方法私を見ることができますか?ありがとう
ここにコードスニペットが役立ちます。
//Call method like this
convertNextDate(dateString: "31 12 2016")
// Method is here
func convertNextDate(dateString : String){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MM yyyy"
let myDate = dateFormatter.date(from: dateString)!
let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: myDate)
let somedateString = dateFormatter.string(from: tomorrow!)
print("your next Date is \(somedateString)")
}
+1は '.date(byAdding :, value :, to:)'を使っています。スタックオーバーフローの例の多くは、 '24 * 60 * 60'秒を追加して翌日を間違って計算します。 –
ありがとうございます@RoboticCatありがとうございます –
class DateHelper
{
lazy var formatter:DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "dd MM yyyy"
return formatter
}()
lazy var dateComponents:DateComponents = {
var dateComp = DateComponents()
dateComp.day = 1
return dateComp
}()
func getNext(dateString:String) -> String?
{
if let date = self.formatter.date(from: dateString),
let nextDate = Calendar.current.date(byAdding: self.dateComponents, to: date)
{
return self.formatter.string(from: nextDate)
}
return nil
}
}
DateHelper().getNext(dateString: "31 12 2016")
あなたはこのフレームワークを使用できる前に、あなたは、迅速に日付と働いていない場合:https://github.com/malcommac/SwiftDateを - 答えの多くはSOそれは問題を解決するためにここにもあります日付を使って作業するには、検索機能を使用してください:-) –