2016-10-05 20 views
-6

私はSwiftの新しいブランドです。 私は日付ピッカーとラベルを持っています。 datepickerの日付を変更すると、ラベルに日付/時刻がyyyy-mm-dd hh-mm-ssの形式で表示されます。私のコードはdatepickerを使用した日付フォーマット

私の問題がある正常に動作

@IBAction func DtPicker(_ sender: UIDatePicker) 
{ 
    let strDate = String(describing: sender.date) 
    lblShowShifts.text = strDate 
} 

は、私はちょうど私が取得しています をDD-MM-YYYYなどの日付を表示(その後、制御日からの日数を計算)したいですdateformatterなどを見失っていて、さまざまな順列を試してみると円で回っているようです。誰も助けることができる - 感謝見越し

+8

スウィフトでフォーマットする日付の無数の例があります。いくつか検索してください。特定の問題がある場合は、試した内容を投稿して問題を説明してください。 – rmaddy

+3

[Swift Format Date]の複製が可能です(http://stackoverflow.com/questions/31316207/swift-format-date) –

答えて

1

@IBActionのFUNCのDatePickerAction(送信者:ANYOBJECT)に{

let strDate = String(sender.date) 
    lblShowShifts.text = strDate 

    let calendar: NSCalendar = NSCalendar.currentCalendar() 
    let currenttDate = NSDate() 
    let dateString = String(sender.date) 

    //Default formatter for UIDatePicker -> "yyyy-MM-dd HH:mm:ssZ" 
    //Fisrtly you need to give the formmater in which date is coming 
     and then later change it according to your requirements 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ" 

    let secondDate = dateFormatter.dateFromString(dateString) 

    let date1 = calendar.startOfDayForDate(currenttDate) 
    let date2 = calendar.startOfDayForDate(secondDate!) 

    //Find number of days between two dates 
    let flags = NSCalendarUnit.Day 
    let components = calendar.components(flags, fromDate: date1, toDate: date2, options: []) 

    //Here you can do the calculations 

    print("number of days between current date and today\(components.day)") 


} 
+0

ありがとうございました - 上記は私の質問に少しだけ微妙に答えています。私はprint( "日数など)をlabel.textステートメント(lblShow.text = String("日数など) "に置き換えます。これは日付の差異を正しく計算しますが、<< Number of日などオプション(x)>>ここでxは日付の相違です誰でもこれを説明することができます成功のない説明を探してみました –

+0

@ Sgt_1381最後に感嘆符を付けることでオプションの値をunwrepしてください – Ishika

+0

Thanks Ishika - much –

関連する問題