Reputation: 5019
e.g. "23:55:00"
I'm in the process of converting a bus schedule database from Postgres to Mongo.
Postgres has a time without timezone
datatype that I'm using to store stop times, and I'm having difficulty trying to figure out how to migrate that.
It doesn't seem to make much sense giving it an arbitrary year/month/day to convert it into a javascript Date object, but I do plan on doing some simple calculations with the times after the data gets parsed, to show stuff like 'next stopping time', so if I store it as a string I'll still have to convert it to something eventually to do comparisons
I'm really new to MongoDB and any advice would be greatly appreciated
Upvotes: 17
Views: 9073
Reputation: 328893
You could store the time as a number (number of seconds since 00:00:00). It will be naturally sorted and easy to convert from/to hh:mm:ss format when needed.
//from 23:55:00 to the stored time
storedTime = hours * 3600 + minutes * 60 + seconds
//from the stored time to 23:55:00
hours = storedTime / 3600 // needs to be an integer division
leaves = storedTime - hours * 3600
minutes = leaves / 60
seconds = leaves - 60 * minutes
Upvotes: 31