1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2009 The Android Open Source Project
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
99272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org
109272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org#include "SkTime.h"
119272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org
12d0306a15938a971e10dd8648d3e17b001c4b0014commit-bot@chromium.orgvoid SkTime::GetDateTime(DateTime* dt)
13d0306a15938a971e10dd8648d3e17b001c4b0014commit-bot@chromium.org{
149272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    if (dt)
159272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    {
169272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        SYSTEMTIME      st;
179272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        GetSystemTime(&st);
189272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org
199272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fYear       = st.wYear;
209272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fMonth      = SkToU8(st.wMonth + 1);
219272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fDayOfWeek  = SkToU8(st.wDayOfWeek);
229272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fDay        = SkToU8(st.wDay);
239272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fHour       = SkToU8(st.wHour);
249272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fMinute     = SkToU8(st.wMinute);
259272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org        dt->fSecond     = SkToU8(st.wSecond);
269272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    }
279272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org}
289272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org
29d0306a15938a971e10dd8648d3e17b001c4b0014commit-bot@chromium.orgSkMSec SkTime::GetMSecs()
30d0306a15938a971e10dd8648d3e17b001c4b0014commit-bot@chromium.org{
319272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    FILETIME        ft;
329272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    LARGE_INTEGER   li;
339272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    GetSystemTimeAsFileTime(&ft);
349272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    li.LowPart  = ft.dwLowDateTime;
359272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    li.HighPart = ft.dwHighDateTime;
369272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org    __int64 t  = li.QuadPart;       /* In 100-nanosecond intervals */
37d0306a15938a971e10dd8648d3e17b001c4b0014commit-bot@chromium.org    return (SkMSec)(t / 10000);               /* In milliseconds */
389272761b22746d2d22439c26f5555028f8e824dasenorblanco@chromium.org}
39