So setzen Sie eine variable als Date-Typ in der ejs?

Ich bin mit express.js, mongoose und ejs, ich habe ein Modell wie

var t_schema = new mongoose.Schema({
  name: String,
  startFrom: Date,
  ...
})

router.get('/', function(req,res) {
 t_model.findOne({name: req.body.name}, function(result) {res.render('t', result)})
})

Also Ergebnis enthält ein Datum startFrom

Und in meinem ejs :

$('#startDate').datepicker.set(<%= result.startDate %>)

einen String, der anstelle von Datum, während datepicker.set braucht Datum.

Wie kann ich das Ergebnis machen.startDate als Datum?

$('#startDate').datepicker.set(new Date('<%= result.startDate %>'))

scheint zu arbeiten, aber die Zeitzone ist falsch.

Und 2.)

Was ist die beste Praxis zu manipulieren Datum in Nodejs/mongodb?
Meine Benutzer kommen aus anderen Zeitzone, so möchte ich zeigen, Datum /Uhrzeit in Ihrer Zeitzone im Browser, ich denke vielleicht ist es besser zu speichern Datum als UTC in Mongodb?

  • Das wäre wahrscheinlich besser geeignet, da zwei verschiedene Fragen.
  • was meinst du denn mit „Zeitzone ist falsch‘?
  • vielleicht ist die server-Zeitzone und der browser die Zeitzone anders ist?
  • Als Sie sagte, Benutzer kommen aus verschiedenen Zeitzonen. Sie sollten davon ausgehen, dass browser und server haben unterschiedliche Zeitzone.
InformationsquelleAutor Sato | 2016-03-15



One Reply
  1. 1

    Antwort Frage 2 zuerst, ja, es wäre besser, speichern Datum als UTC in mongo, dann, wenn angezeigt, um die einzelnen Benutzer zu konvertieren localtime, basierend auf Benutzer-browser, timezone. Oder nicht tun, keine Bekehrungen und nur sagen, dass das die Zeit ist in UTC.

    Zur Beantwortung der ersten Frage, dein jquery datepicker gesetzt werden können mit:

    Date date = new Date('<%= result.startDate %>'); 
    $('#startDate').datepicker('setDate', date.toUTCString());
    • sollte ich konvertieren, Datum in UTC im browser? verschiedene browser des Benutzers die Zeitzone ist anders, und die server-Zeitzone ist anders, entweder
    • Ich würde die Daten gespeichert werden in mongo als UTC. Seine eine design-Entscheidung, ob oder nicht, um die Zeit in die lokale Zeit, aber ich hätte das etwas behandelt mit dem browser, nicht auf dem server.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.