Javadoc
This method returns the number of milliseconds (UTC time) for today's date at midnight in
the local time zone. For example, if you live in California and the day is September 20th,
2016 and it is 6:30 PM, it will return 1474329600000. Now, if you plug this number into an
Epoch time converter, you may be confused that it tells you this time stamp represents 8:00
PM on September 19th local time, rather than September 20th. We're concerned with the GMT
date here though, which is correct, stating September 20th, 2016 at midnight.
As another example, if you are in Hong Kong and the day is September 20th, 2016 and it is
6:30 PM, this method will return 1474329600000. Again, if you plug this number into an Epoch
time converter, you won't get midnight for your local time zone. Just keep in mind that we
are just looking at the GMT date here.
This method will ALWAYS return the date at midnight (in GMT time) for the time zone you
are currently in. In other words, the GMT date will always represent your date.
Since UTC / GMT time are the standard for all time zones in the world, we use it to
normalize our dates that are stored in the database. When we extract values from the
database, we adjust for the current time zone using time zone offsets.