From 42132be3f9f8aadc2de3f8c29ece41e19a4f6281 Mon Sep 17 00:00:00 2001 From: "jyasskin@chromium.org" Date: Fri, 8 Jun 2012 22:59:33 +0000 Subject: Add Javascript time methods to base::Time. Review URL: https://chromiumcodereview.appspot.com/10536061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141317 0039d316-1c4b-4281-b951-d872f2087c98 --- base/time.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'base/time.cc') diff --git a/base/time.cc b/base/time.cc index 39a8b56..f04ebbc 100644 --- a/base/time.cc +++ b/base/time.cc @@ -93,6 +93,23 @@ double Time::ToDoubleT() const { } // static +Time Time::FromJsTime(double ms_since_epoch) { + // The epoch is a valid time, so this constructor doesn't interpret + // 0 as the null time. + return Time(static_cast(ms_since_epoch * kMicrosecondsPerMillisecond) + + kTimeTToMicrosecondsOffset); +} + +double Time::ToJsTime() const { + if (us_ == 0) { + // Preserve 0 so the invalid result doesn't depend on the platform. + return 0; + } + return (static_cast(us_ - kTimeTToMicrosecondsOffset) / + kMicrosecondsPerMillisecond); +} + +// static Time Time::UnixEpoch() { Time time; time.us_ = kTimeTToMicrosecondsOffset; -- cgit v1.1