11ebd3d54Sopenharmony_ci/* 21ebd3d54Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 31ebd3d54Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41ebd3d54Sopenharmony_ci * you may not use this file except in compliance with the License. 51ebd3d54Sopenharmony_ci * You may obtain a copy of the License at 61ebd3d54Sopenharmony_ci * 71ebd3d54Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81ebd3d54Sopenharmony_ci * 91ebd3d54Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101ebd3d54Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111ebd3d54Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121ebd3d54Sopenharmony_ci * See the License for the specific language governing permissions and 131ebd3d54Sopenharmony_ci * limitations under the License. 141ebd3d54Sopenharmony_ci */ 151ebd3d54Sopenharmony_ci 161ebd3d54Sopenharmony_ci#include "time_provider.h" 171ebd3d54Sopenharmony_ci 181ebd3d54Sopenharmony_cinamespace OHOS { 191ebd3d54Sopenharmony_cinamespace BackgroundTaskMgr { 201ebd3d54Sopenharmony_ciint64_t TimeProvider::GetCurrentTime(ClockType type) 211ebd3d54Sopenharmony_ci{ 221ebd3d54Sopenharmony_ci struct timespec ts; 231ebd3d54Sopenharmony_ci clock_gettime(type, &ts); 241ebd3d54Sopenharmony_ci return ((static_cast<int64_t>(ts.tv_sec) * MSEC_PER_SEC) + (static_cast<int64_t>(ts.tv_nsec) / NSEC_PER_MSEC)); 251ebd3d54Sopenharmony_ci} 261ebd3d54Sopenharmony_ci} // namespace BackgroundTaskMgr 271ebd3d54Sopenharmony_ci} // namespace OHOS 281ebd3d54Sopenharmony_ci 29