Je voulais obtenir le timestamp actuel de Firebase, sans pouvoir trouver un moyen de l'obtenir Je veux enregistrer l'enfant comme indiqué dans l'image. Et pour cela, je dois obtenir un horodatage et obtenir la date en conséquence. S'il vous plaît aider ...
Vous pouvez définir l'heure du serveur à l'aide de ServerValue.TIMESTAMP
, qui est un type Map<String, String>
avec une paire {".sv" : "timestamp"}
. Quand il est envoyé à la base de données firebase, il sera converti en un temps d'époque Long Unix comme ceci 1469554720
.
Le problème est que vous ne pouvez pas définir cela directement comme une clé. La meilleure approche consiste à insérer l'horodatage dans votre objet et à utiliser DatabaseReference.Push()
pour obtenir la clé unique garantie.
Par exemple
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
String key = ref.Push().getKey(); // this will create a new unique key
Map<String, Object> value = new HashMap<>();
value.put("name", "shesh");
value.put("address", "lucknow");
value.put("timestamp", ServerValue.TIMESTAMP);
ref.child(key).setValue(value);
Si vous voulez l'enregistrer avec ce format (jj-mm-aaaa), il y a un bidouillage mais ce n'est pas recommandé. Vous devez d'abord l'enregistrer (ServerValue.TIMESTAMP) sur un autre nœud temporaire, puis extraire l'horodatage avant de le convertir dans ce format à l'aide de la classe Date
.
En fait, vous pouvez utiliser les fonctions de cloud et obtenir l'horodatage via une requête HTTP ..__ La fonction est très simple.
exports.getTimeStamp = functions.https.onRequest((req, res)=>{
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ timestamp: Date.now() }));
});
Si vous utilisez Javascript via React - Native pour le développement Android, vous pouvez essayer d’obtenir une date manuellement à l’aide de la méthode Javascript Date()
.
Exemple de code:
async OnFunction() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = dd + '-' + mm + '-' + yyyy;
await firebase.database().ref('/data_Location/' + today).Push(this.state.dataToBeWritten)
}