Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
Express Swift Date().timeIntervalSince1970 to Firebase Epoch Time

Seguí diferentes respuestas de aquí y aquí .

Estoy empezando a aprender Cloud Tasks desde aquí . En esa publicación de blog, Doug dice "Lo que quiero es que expirationAtSeconds sea el tiempo de vencimiento expresado en epoch segundos ".

Quiero que la tarea elimine la publicación cuando se establezca ese tiempo. En mi aplicación iOS, creo una publicación que caduca en un momento específico:

 let timeStamp = Date().timeIntervalSince1970 let postDate: Date = Date(timeIntervalSince1970: timeStamp) var expirationDate: Date? = Calendar.current.date(byAdding: .hour, value: +24, to: postDate) guard let exp = expirationDate else { return } let expiresAt = exp.timeIntervalSince1970 dict.updateValue(expiresAt, forKey: "expiresAt") dict.updateValue(timeStamp, forKey: "postDate") // other values ... ref.updateChildValues(dict)

lo que me da un valor de base de datos como:

 posts some_post_Id -"expiresAt": 1632627680.340107 // other values ...

En mi función de nube, quiero la fecha expiresAt , que es un Double expresado en Epoch segundos. No estoy seguro si debo usar expDate1 , expDate2 , expDate3 o expDate4 :

 exports.onCreatePost = functions.database.ref('/posts/{postId}').onCreate((snapshot, context) => { const post = snapshot.data(); const expiresAt = snapshot.child("expiresAt").val(); const expirationDate = expiresAt.valueOf(); // 1632627680.340107 var expDate1 = DateTime.fromMillisecondsSinceEpoch(expirationDate * 1000) var expDate2 = DateTime.fromMicrosecondsSinceEpoch(expirationDate * 1000000) var expDate3 = DateTime.fromMicrosecondsSinceEpoch(expirationDate.microsecondsSinceEpoch) var expDate4 = expirationDate.toDate() const expirationAtSeconds = either expDate1, expDate2, expDate3, or expDate4 // continue on with the rest of the code ... });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

De mi pregunta, ninguno de los métodos DateTime anteriores funcionó para mí porque seguía recibiendo un error TypeError: Cannot read property 'DateTime' of undefined .

Tuve que usar una new Date(expirationDate * 1000) y obtuve la conversión a epoch segundos desde aquí

Código:

 const functions = require("firebase-functions"); const admin = require('firebase-admin'); admin.initializeApp(); exports.onCreatePost = functions.database.ref('/posts/{postId}').onCreate((snapshot, context) => { const post = snapshot.data(); const expiresAt = snapshot.child("expiresAt").val(); const expirationDate = expiresAt.valueOf(); // 1632627680.340107 const expDate = new Date(expirationDate * 1000); // <--------Here const expirationAtSeconds = expDate.getTime()/1000.0; // <-------- this will be epoch seconds conversion console.log("expDate: " + expDate + " | expirationAtSeconds:" + expirationAtSeconds); // continue on with the rest of the code ... });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda