osx - Swift timeInterval formatter -


i can date in de date picker, calculate time left , put in label. gives seconds:

let timeleft = datepicker.datevalue.timeintervalsincenow countinglabel.stringvalue = "seconds left: \(timeleft)" 

how format "timeleft"?

i tried , not work: var formatter = nsdateformatter() formatter.dateformat = "eeee, yyyy-mm-dd hh:mm:ss" let timeleft2 = formatter.stringfromdate(timeleft) 

you can use nsdatecomponentsformatter. documentation:

an nsdatecomponentsformatter object takes quantities of time , formats them user-readable string. use date components formatter create strings app’s interface.

example:

let formatter = nsdatecomponentsformatter() formatter.unitsstyle = .full formatter.allowedunits = .calendarunitsecond | .calendarunitminute | .calendarunithour  let pickeddate = datepicker.datevalue let = nsdate() let formattedtimeleft = formatter.stringfromdate(now, todate: pickeddate)!  // example result : 1:06:50 

there more output formats available, e.g.

.abbreviated :  1h 6m 50s .short :        1 hr, 6 min, 50 secs .full :         1 hour, 6 minutes , 50 seconds 

Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -