2016-04-16 9 views
0

Ich bin neu zu Python und versuchen, das Datum/die Zeit in meine firebase.put einfügen Ich bin nicht sicher, was das sein sollte und würde einige Hilfe zu schätzen wissen. Ich habe das versucht, strip() und ein paar andere erfolglose Dinge. Bitte helfen Sie! DankeTimestamp Firebase in Python - Argument in Firebase.put()

from firebase import firebase 
import time 
import datetime 

whattime = datetime.datetime.now() 
firebase = firebase.FirebaseApplication('my_firebase_link',None) 

result = firebase.put('/user',str(whattime),'testing') 
+0

Siehe http://stackoverflow.com/questions/415511/how-to-get-current-time-in-python –

Antwort

1

Es gibt zwei Ansätze für Zeitstempel in Firebase, dem lokalen Rechner ein und eigenen Zeitstempel der Firebase, die folgenden Beispiele jedes demonstrieren.

Beide Beispiele benötigen Sie die folgenden Module importieren:

import urllib.request 
import urllib.error 
import json 
import time #For the first example only 

In diesem Beispiel werden wir die von Python in Zeitmodul gebaut verwenden (das Datetime-Modul funktioniert auf die gleiche). Der Wert von time.time() wird als Gleitkommazahl gespeichert und Sie sollten ihn zurück in ein Datumsobjekt konvertieren, wenn Sie ihn aus Firebase zurücklesen.

In diesem Beispiel wird Firebase interner Zeitstempel verwendet. Der Wert {".sv": "timestamp"} wird von Firebase interpretiert und bei der Verarbeitung der Anforderung in einen Zeitstempel konvertiert.

def send_message(message, username): 

    my_data = dict() 
    my_data["message"] = message 
    my_data["username"] = username 
    my_data["timestamp"] = {".sv": "timestamp"} 

    json_data = json.dumps(my_data).encode() 

    try: 
     loader = urllib.request.urlopen("https://<YOUR-PROJECT-ID>.firebaseio.com/messages.json", data=json_data) 
    except urllib.error.URLError as e: 
     message = json.loads(e.read()) 
     print(message["error"]) 
    else: 
     print(loader.read())