1 /* libs/graphics/ports/SkTime_Unix.cpp 2 ** 3 ** Copyright 2009, The Android Open Source Project 4 ** 5 ** Licensed under the Apache License, Version 2.0 (the "License"); 6 ** you may not use this file except in compliance with the License. 7 ** You may obtain a copy of the License at 8 ** 9 ** http://www.apache.org/licenses/LICENSE-2.0 10 ** 11 ** Unless required by applicable law or agreed to in writing, software 12 ** distributed under the License is distributed on an "AS IS" BASIS, 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ** See the License for the specific language governing permissions and 15 ** limitations under the License. 16 */ 17 18 #include "SkTime.h" 19 20 void SkTime::GetDateTime(DateTime* dt) 21 { 22 if (dt) 23 { 24 SYSTEMTIME st; 25 GetSystemTime(&st); 26 27 dt->fYear = st.wYear; 28 dt->fMonth = SkToU8(st.wMonth + 1); 29 dt->fDayOfWeek = SkToU8(st.wDayOfWeek); 30 dt->fDay = SkToU8(st.wDay); 31 dt->fHour = SkToU8(st.wHour); 32 dt->fMinute = SkToU8(st.wMinute); 33 dt->fSecond = SkToU8(st.wSecond); 34 } 35 } 36 37 SkMSec SkTime::GetMSecs() 38 { 39 FILETIME ft; 40 LARGE_INTEGER li; 41 GetSystemTimeAsFileTime(&ft); 42 li.LowPart = ft.dwLowDateTime; 43 li.HighPart = ft.dwHighDateTime; 44 __int64 t = li.QuadPart; /* In 100-nanosecond intervals */ 45 return (SkMSec)(t / 10000); /* In milliseconds */ 46 } 47