tiene tabla segundos restar online minutos meses horas expresar dias cuantos convertir convertidor conversión calcular años nsdate swift3

tabla - ¿Cómo obtener tiempo(hora, minuto, segundo) en Swift 3 usando NSDate?



restar horas minutos y segundos online (9)

En Swift 3.0, Apple eliminó el prefijo ''NS'' e hizo todo simple. A continuación se muestra la forma de obtener hora, minuto y segundo de la clase ''Fecha'' (alternativa NSDate)

let date = Date() let calendar = Calendar.current let hour = calendar.component(.hour, from: date) let minutes = calendar.component(.minute, from: date) let seconds = calendar.component(.second, from: date) print("hours = /(hour):/(minutes):/(seconds)")

Como estos, puede obtener la era, el año, el mes, la fecha, etc. pasando el correspondiente.

¿Cómo puede determinar la hora, minuto y segundo de la clase NSDate en Swift 3?

En Swift 2:

let date = NSDate() let calendar = NSCalendar.currentCalendar() let components = calendar.components(.Hour, fromDate: date) let hour = components.hour

Swift 3?


En Swift 3 puedes hacer esto,

let date = Date() let hour = Calendar.current.component(.hour, from: date)


Esto puede ser útil para aquellos que desean usar la fecha actual en más de una clase.

extension String { func getCurrentTime() -> String { let date = Date() let calendar = Calendar.current let year = calendar.component(.year, from: date) let month = calendar.component(.month, from: date) let day = calendar.component(.day, from: date) let hour = calendar.component(.hour, from: date) let minutes = calendar.component(.minute, from: date) let seconds = calendar.component(.second, from: date) let realTime = "/(year)-/(month)-/(day)-/(hour)-/(minutes)-/(seconds)" return realTime } }

Uso

var time = "" time = time.getCurrentTime() print(time) // 1900-12-09-12-59


Para mejor útil creo esta función:

func dateFormatting() -> String { let date = Date() let dateFormatter = DateFormatter() dateFormatter.dateFormat = "EEEE dd MMMM yyyy - HH:mm:ss"//"EE" to get short style let mydt = dateFormatter.string(from: date).capitalized return "/(mydt)" }

Simplemente llámalo donde quieras así:

print("Date = /(self.dateFormatting())")

esta es la salida:

Date = Monday 15 October 2018 - 17:26:29

si quieres solo el tiempo simplemente cambia:

dateFormatter.dateFormat = "HH:mm:ss"

y esta es la salida:

Date = 17:27:30

y eso es...


Swift 4

let calendar = Calendar.current let time=calendar.dateComponents([.hour,.minute,.second], from: Date()) print("/(time.hour!):/(time.minute!):/(time.second!)")


Swift 4.2 y 5

// *** Create date *** let date = Date() // *** create calendar object *** var calendar = Calendar.current // *** Get components using current Local & Timezone *** print(calendar.dateComponents([.year, .month, .day, .hour, .minute], from: date)) // *** define calendar components to use as well Timezone to UTC *** calendar.timeZone = TimeZone(identifier: "UTC")! // *** Get All components from date *** let components = calendar.dateComponents([.hour, .year, .minute], from: date) print("All Components : /(components)") // *** Get Individual components from date *** let hour = calendar.component(.hour, from: date) let minutes = calendar.component(.minute, from: date) let seconds = calendar.component(.second, from: date) print("/(hour):/(minutes):/(seconds)")

Swift 3.0

// *** Create date *** let date = Date() // *** create calendar object *** var calendar = NSCalendar.current // *** Get components using current Local & Timezone *** print(calendar.dateComponents([.year, .month, .day, .hour, .minute], from: date as Date)) // *** define calendar components to use as well Timezone to UTC *** let unitFlags = Set<Calendar.Component>([.hour, .year, .minute]) calendar.timeZone = TimeZone(identifier: "UTC")! // *** Get All components from date *** let components = calendar.dateComponents(unitFlags, from: date) print("All Components : /(components)") // *** Get Individual components from date *** let hour = calendar.component(.hour, from: date) let minutes = calendar.component(.minute, from: date) let seconds = calendar.component(.second, from: date) print("/(hour):/(minutes):/(seconds)")


let date = Date() let units: Set<Calendar.Component> = [.hour, .day, .month, .year] let comps = Calendar.current.dateComponents(units, from: date)


let hours = time / 3600 let minutes = (time / 60) % 60 let seconds = time % 60 return String(format: "%0.2d:%0.2d:%0.2d", hours, minutes, seconds)


swift 4 ==> Getting iOS device current time:- print(" ---> ",(Calendar.current.component(.hour, from: Date())),":", (Calendar.current.component(.minute, from: Date())),":", (Calendar.current.component(.second, from: Date()))) output: ---> 10 : 11: 34