Blame view

天文台pc/tianwentai-ui/node_modules/date-fns/parse/_lib/parsers/EraParser.mjs 923 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  import { Parser } from "../Parser.mjs";
  
  export class EraParser extends Parser {
    priority = 140;
  
    parse(dateString, token, match) {
      switch (token) {
        // AD, BC
        case "G":
        case "GG":
        case "GGG":
          return (
            match.era(dateString, { width: "abbreviated" }) ||
            match.era(dateString, { width: "narrow" })
          );
  
        // A, B
        case "GGGGG":
          return match.era(dateString, { width: "narrow" });
        // Anno Domini, Before Christ
        case "GGGG":
        default:
          return (
            match.era(dateString, { width: "wide" }) ||
            match.era(dateString, { width: "abbreviated" }) ||
            match.era(dateString, { width: "narrow" })
          );
      }
    }
  
    set(date, flags, value) {
      flags.era = value;
      date.setFullYear(value, 0, 1);
      date.setHours(0, 0, 0, 0);
      return date;
    }
  
    incompatibleTokens = ["R", "u", "t", "T"];
  }