@clipboard-health/usa-状态
美国的州和领土清单, StateCode 财务报告和审定财务报表 StateName 类型,以及名称/代码规范化.
目录
安装
npm install @clipboard-health/usa-states
使用量
import {
isStateCode,
type StateCode,
type StateName,
toStateCode,
toStateCodeSet,
toStateName,
US_STATES,
} from "@clipboard-health/usa-states";
US_STATES.find((state) => state.code === "CA");
// => { name: "California", code: "CA" }
function parseStateCode(value: string): StateCode | undefined {
return isStateCode(value) ? value : undefined;
}
// Normalize a state name or code (case- and whitespace-insensitive) to a `StateCode`.
toStateCode({ value: " california " });
// => "CA"
toStateCode({ value: "Atlantis" });
// => undefined
// Normalize a list of names or codes to a `Set<StateCode>`, dropping unknown values.
toStateCodeSet({ values: ["California", "ny", "Atlantis"] });
// => Set { "CA", "NY" }
// Normalize a state name or code (case- and whitespace-insensitive) to a canonical `StateName`.
toStateName({ value: " california " });
// => "California"
toStateName({ value: "ca" });
// => "California"
toStateName({ value: "Atlantis" });
// => undefined
interface LabelInput {
name: StateName;
}
function toLabel(input: LabelInput): string {
const { name } = input;
return `State: ${name}`;
}
优先存储 StateCode 并决心 StateName 仅用于显示; 代码为稳定
用于比较各种服务。 两个常客都回来 undefined 未识别
输入——将此视为验证失败,而不是回到原始价值,否则
非正态输入到达存储 .
国家时区
STATE_TIME_ZONES 提供IANA代表时区名称的被冻结的非空列表,用于
每个被支持 StateCode。 。 。 . getStateTimeZones 使用 toStateCode 返回时
完整的命令数组。 呼叫者决定使用哪个条目 。 现有国家名称/代码和
US_STATES 对象不变.
import { getStateTimeZones, STATE_TIME_ZONES } from "@clipboard-health/usa-states";
STATE_TIME_ZONES.WA;
// => ["America/Los_Angeles"]
STATE_TIME_ZONES.TN;
// => ["America/New_York", "America/Chicago"]
getStateTimeZones({ state: " tennessee " });
// => ["America/New_York", "America/Chicago"]
getStateTimeZones({ state: "Any" });
// => []
getStateTimeZones({});
// => []
帮助者接受 state?: string 返回被冻结的 readonly string[] 直接说 一个省略,
空白, Any,或未识别状态返回被冻结的空数组。 与 exactOptionalPropertyTypes, (中文(简体) ),
呼叫者应省略 state 当源值无效而非明确传递时 null
或者说 undefined。该软件包提供时区元数据;消费者处理选择、格式化、,
并使用明确的时区转换.
有序选择和地域例外
首个条目比较喜欢时区, 其本地日历日最早于协调世界时在当前下结束
时区规则. 定购是固定的;区可以平接,历史定购可能有所不同. 亚利桑那州
标准时间内的条目平齐。 该命令表达了这种偏好,而不是人口或人口
首都覆盖. 使用文档顺序和 IANA 规则, 而不是今天的 UTC 排序
抵消或替换固定 PST编号 :EST 页:1.
这些清单代表了目前的标准时间/数据查询制度,而不是每个历史性的IANA地点 或别名。 在历史订购时参考特定日期的时区规则 .
跨越联邦标准时区的14个州,加上亚利桑那州单独的DST案件,是:
| 状态 | 首选的 IANA 区 | 其他代表区 | 地理基础 |
|---|---|---|---|
| 阿拉斯加语Name | 美洲/ 安克雷奇 | 美洲/ 阿达克 | 阿拉斯加和阿留申西部 |
| 亚利桑那州 | 美洲/ 登弗 | 美洲/ 菲尼克斯 | 纳瓦霍DST的纪念活动和亚利桑那州大部分没有DST的纪念活动 |
| 佛罗里达州 | 美洲/ 纽约New York | 美洲/ 芝加哥 | 东部和西部 |
| 爱达荷州 | 美洲/ 布瓦兹 | 美洲/ 洛杉矶天使 | 南山区和北太平洋 |
| 印第安纳州 | 美洲/ 印度/印地安那波利斯 | 美洲/ 芝加哥 | 东部和中部县 |
| 堪萨斯州 | 美洲/ 芝加哥 | 美洲/ 登弗 | 中西部山区县 |
| 肯塔基州 | 美洲/ 纽约New York | 美洲/ 芝加哥 | 东部和中部地区 |
| 密歇根州 | 美洲/ 德特鲁特 | 美洲/ 地中海 | 上半岛东部和西部 |
| 内布拉斯加州 | 美洲/ 芝加哥 | 美洲/ 登弗 | 中西部山区 |
| 内华达州 | 美洲/ 登弗 | 美洲/ 洛杉矶天使 | 西温多佛的山地例外和太平洋的剩余 |
| 北达科他州 | 美洲/ 芝加哥 | 美洲/ 登弗 | 中部和西南部山区 |
| 俄勒冈州 | 美洲/ 布瓦兹 | 美洲/ 洛杉矶天使 | 马拉厄尔县的山区和太平洋的其余部分 |
| 南达科他州 | 美洲/ 芝加哥 | 美洲/ 登弗 | 中西部山区 |
| 田纳西州 | 美洲/ 纽约New York | 美洲/ 芝加哥 | 东部和中部地区 |
| 德克萨斯州 | 美洲/ 芝加哥 | 美洲/ 登弗 | 中西部山区 |
现有清单中的所有八个非国家条目都包括在内。 密克罗尼西亚用途
["Pacific/Pohnpei", "Pacific/Chuuk"]: Pohnpei代表更早的UTC+11组(包括:
科斯雷根据现行规则),而楚克则代表了UTC+10组(包括雅普). 马歇尔
岛屿用途 Pacific/Majuro 包括克瓦贾林。 这些代表
选择不能重建群岛不同的历史规则。 现有支持列表
也包括自由联系国;这一元数据并不重新界定其政治地位.
2026年9月24日审查的地理和时区标识:
- 联邦标准时间界限,49 CFR Part 71, (中文(简体) ), 特别是71.5、71.7、71.9和71.11-14条.
- NIST 本地时间和 DST 指导 亚利桑那/纳瓦霍和领地 DST例外.
- IANA 时区描述 财务报告和审定财务报表 位置名称和别名。 。 。 .
地方发展指挥部
见 package.json scripts 用于命令列表.