123456789101112131415161718192021222324252627282930313233343536373839 |
- import { Parser } from "../Parser.js";
- 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"];
- }
|