• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import settings from '@ohos.settings';
16import CalendarUtil from './CalendarUtil'
17
18export default {
19  numberFormatDateString(year : number, month : number, day : number) : string {
20    return year + "-" + month + "-" + day;
21  },
22
23  stringFormatDateResource(data: string, lunar: boolean): Resource|string{
24    let year: number = parseInt(data.substr(0, data.indexOf("-")));
25    let month: number = parseInt(data.substr(data.indexOf("-") + 1, data.lastIndexOf("-")));
26    let day: number = parseInt(data.substr(data.lastIndexOf("-") + 1, data.length));
27    if (lunar) {
28      return CalendarUtil.formatLunarDate(CalendarUtil.getLunarDate(new Date(year,month-1,day)))
29    }
30    return $r("app.string.yearMonthDay", year, month, day);
31  },
32
33  judgeSysTime(context?: Context) {
34    return settings.getValueSync(context ? context : globalThis.context, settings.date.TIME_FORMAT, "24");
35  },
36
37  /**
38   * Obtain the description of the time within a day based on the hour.
39   *
40   * @param {number} hour
41   * @return {string} Time node
42   */
43  getDayMessage(hour, minutes) {
44    if (hour >= 0 && hour < 5) {
45      return $r("app.string.time_early_morning", hour, minutes);
46    }
47    if (hour >= 5 && hour < 11) {
48      return $r("app.string.time_morning", hour, minutes);
49    }
50    if (hour >= 11 && hour < 13) {
51      return $r("app.string.time_noon", hour >= 12 ? (parseInt(hour) - 12).toString() : hour, minutes);
52    }
53    if (hour >= 13 && hour < 17) {
54      return $r("app.string.time_afternoon", (parseInt(hour) - 12).toString(), minutes);
55    }
56    if (hour >= 17 && hour < 19) {
57
58      return $r("app.string.time_nightfall", (parseInt(hour) - 12).toString(), minutes);
59    }
60    if (hour >= 19 && hour < 22) {
61
62      return $r("app.string.time_night", (parseInt(hour) - 12).toString(), minutes);
63    }
64    if (hour >= 22 && hour < 24) {
65      return $r("app.string.time_middle_night", (parseInt(hour) - 12).toString(), minutes);
66    }
67  }
68}