Commit Graph

53 Commits

Author SHA1 Message Date
pjh123 b0b4657405 feat: Temporal PlainDate 与 PlainDateTime 增加 with 方法 2026-10-14 08:45:36 +00:00
pjh123 597f11e802 fix: 袋支 calendar 未提供时不再误读 era/eraYear 2026-09-28 16:43:35 +00:00
pjh123 6c7d7f3ffc feat: temporal 袋支 relativeTo 时区在场产 Zoned 载荷 2026-09-28 16:25:38 +00:00
pjh123 eb2e999612 feat: temporal relativeTo property bag 读序对齐规范并加 era 合并 2026-09-28 15:57:35 +00:00
pjh123 b574804afb feat: zdt 加减改走 epoch 级核心并扩展相对点载荷 2026-09-28 04:30:48 +00:00
pjh123 87cbe4ad2a fix: 统一 Duration.round 纯时间路径范围判据为存储分量加权和 2026-09-27 21:09:35 +00:00
pjh123 c7ebcea305 fix: with reject 分支负分量先校验范围再截断 2026-09-14 17:41:05 +00:00
pjh123 954ceb2109 fix: PlainTime 构造器负时间分量改抛 RangeError 不再饱和归零 2026-09-14 16:31:51 +00:00
pjh123 91946f3fe3 fix: PlainDateTime 构造器显式 undefined 时间分量取默认值 2026-09-14 13:40:32 +00:00
pjh123 2760edfbb9 fix: PlainDate 与 PlainTime 构造器数字分量走 number-only 转换面 2026-09-14 13:29:58 +00:00
pjh123 650b8c00cc builtins/vm: ZDT 直读 5 方法绑定(toInstant/toPlainDate/toPlainDateTime/toPlainTime/startOfDay)——纪元槽直读零时区换算、本地分量经 plain_parts 换算、startOfDay 当地午夜含范围校验,ZDT 语料 45 文件 fail→pass 2026-09-13 17:06:10 +00:00
pjh123 7756ccbaee fix: PlainMonthDay/YearMonth toString 非 iso8601 日历补年份/日分量与日历注解
auto/缺省形(含 toJSON/toLocaleString 同形)对非 iso8601 日历恒输出裸
MM-DD / ±YYYY-MM:按 TemporalMonthDayToString/TemporalYearMonthToString,
showCalendar ∈ {always,critical} 或 calendar ≠ iso8601 时补参考年(PMD)/
参考日(PYM),注解按 FormatCalendarAnnotation(auto 仅非 iso 出 [u-ca=…]、
never 无注解、critical 前置 !)。ShowCalendar 拆分 auto/never(原 Omitted
合并两者致注解表不可表达),注解表独立成 helper 供两站点复用。
2026-09-12 08:27:46 +00:00
pjh123 4538dcd9a8 fix: Duration add/subtract 范围判据按存储分量加权和(对齐 IsValidDuration)
逐分量尾检误接受加权和落在 [2^53 s, 2^53 s + 86400 s) 的输入(各分量
均低于 2^53 秒上限而总和越界);按输入精确和校验又漏掉精确和低于上限、
而存储分量经 f64 舍入后达上限的情形。改按平衡后存储时间分量(含 days)
的纳秒加权和与 2^53 秒上限比较——校验对象与内部槽位的 float64 可表示
整数存储语义一致,判据与构造器/from 的 validate_duration_values 同式。
补加权和边界钉(恰 = 2^53 s 抛 RangeError、2^53 s − 1 s 通过并平衡到
day 级)。
2026-09-12 08:27:40 +00:00
pjh123 8f1be23c04 feat: Temporal.PlainYearMonth until/since——year/month 单位差值(缺省 smallest month / largest year)、参考日三元全等早返与按日 1 的 day 级范围 2026-09-12 07:24:33 +00:00
pjh123 6c9dbdaa06 feat: Temporal.PlainYearMonth with/toPlainDate——字段 bag 覆盖(month→monthCode→year)、monthCode 两段校验与 day 级日期合成 2026-09-12 07:24:28 +00:00
pjh123 db0521f950 feat: Temporal.PlainYearMonth add/subtract——时长转换复用、低阶单位拒绝与按日 1 的 (年,月) 范围 2026-09-12 06:51:10 +00:00
pjh123 32cfc066f1 feat: Temporal.PlainYearMonth compare/equals——(年,月,参考日) 三元比较与 ToTemporalYearMonth 共享件 2026-09-12 05:51:03 +00:00
pjh123 4dc475d2fa feat: Temporal.PlainYearMonth.from——年-月串解析/字段 bag/实例复制与 (年,月) 范围 2026-09-12 05:38:24 +00:00
pjh123 5362595b17 feat: Temporal.PlainMonthDay equals/with/toPlainDate——三元比较、字段覆盖与 constrain 日期合成 2026-09-12 04:52:28 +00:00
pjh123 2fcae4fbca feat: Temporal.PlainMonthDay.from——ISO 串解析/字段 bag/实例复制与 overflow 语义 2026-09-12 04:23:44 +00:00
pjh123 e4e278dd19 feat: PlainMonthDay/PlainYearMonth toLocaleString(默认形串)与 valueOf(TypeError)绑定 2026-09-12 03:49:18 +00:00
pjh123 e33e7a1eb7 feat: PlainMonthDay/PlainYearMonth 对象地基——构造器/getter/toString/toJSON 注册与 BuiltinWorld 接线 2026-09-12 03:42:48 +00:00
pjh123 3169e8f2f9 perf: run 签名改 &Arc<CompiledModule>,顶层模块跨 run 共享——collect_flat_modules 顶层改 Arc::clone 消除逐 run 常量池深拷贝,全调用点 Arc 包装迁移 2026-09-11 22:19:13 +00:00
pjh123 64f582d34b chore: rustfmt 全量格式化——CI fmt check 差异清零 2026-09-09 15:14:57 +08:00
pjh123 3cf6618ae7 feat: Temporal.Duration 补全——compare/subtract/equals/sign/blank/toJSON/toLocaleString + relativeTo 相对日历对齐 2026-09-09 15:14:49 +08:00
pjh123 b9680c80aa feat: Temporal.PlainTime round 舍入(真因子校验 + 跨午夜取模) 2026-08-17 06:23:06 +08:00
pjh123 c6f0e76bf8 feat: Temporal.PlainTime add/subtract 时间域叠加 2026-08-17 06:02:06 +08:00
pjh123 0037f0e5ad feat: Temporal.PlainTime until/since 差值计算 2026-08-17 02:40:21 +08:00
pjh123 bed1abd3f3 feat: Temporal.PlainTime equals/compare 比较语义 2026-08-17 02:34:30 +08:00
pjh123 e06071429c feat: ZonedDateTime.round 舍入(day 双路径 + 真因子校验) 2026-08-17 01:55:52 +08:00
pjh123 430f922ef3 feat: ZonedDateTime.compare 跨实例按 epoch 比较(复用 from 解析器,忽略时区/日历) 2026-08-17 01:27:54 +08:00
pjh123 68f8637acf feat: ZonedDateTime.add/subtract 时长运算(复用 PDT 叠加算法 + 中间日期检查 + 时区/日历槽保真) 2026-08-17 00:02:00 +08:00
pjh123 5bf674e1c6 feat: ZonedDateTime.with/withPlainTime/withCalendar 字段合并(offset 默认 prefer + 时间串歧义解析) 2026-08-16 23:49:30 +08:00
pjh123 064f565b21 feat: ZonedDateTime.until/since 差异计算(复用 difference_core) 2026-08-16 23:21:08 +08:00
pjh123 0761fb3010 feat: ZonedDateTime.from 三分支解析(字符串/对象/property bag + offset/disambiguation 选项) 2026-08-16 22:50:48 +08:00
pjh123 04067a4fe5 feat: ZonedDateTime.withTimeZone 与 equals 基础实现 2026-08-16 22:07:38 +08:00
pjh123 3baa868232 feat: ZonedDateTime.toString 族(toJSON/toLocaleString/valueOf 绑定) 2026-08-16 21:56:57 +08:00
pjh123 3db77b869d test: ZonedDateTime getter 语义断言(字段/epoch floor/偏移/品牌 TypeError) 2026-08-16 21:21:27 +08:00
pjh123 554a69078f fix: PlainDate 周/月/时代 getter 补 ensure branding 校验 2026-08-16 18:50:55 +08:00
pjh123 c8b1ccd0a0 feat: Temporal 构造器严格校验日历并真实存槽(含 fast path 与日历传播) 2026-08-16 17:30:01 +08:00
pjh123 47733ae224 feat: PlainDateTime add/subtract 算术 2026-08-11 23:14:42 +08:00
pjh123 fbb3500129 feat: PlainDateTime toString 选项与 ISO 区间解析 2026-08-11 23:07:41 +08:00
pjh123 3cf2c792ba feat: Temporal PlainDateTime 转换与序列化 2026-08-11 22:29:00 +08:00
pjh123 66712e05a5 feat: Temporal PlainDateTime 基础实现 2026-08-11 21:32:15 +08:00
pjh123 90a162d39a feat: Temporal Instant 时区转换 2026-08-11 20:54:25 +08:00
pjh123 b982e964a7 feat: Temporal Instant 序列化 2026-08-11 19:14:24 +08:00
pjh123 59da42fea9 feat: Temporal Instant 差值实现 2026-08-11 18:22:21 +08:00
pjh123 7ccedfb0b1 feat: Temporal Instant round 实现 2026-08-11 16:57:53 +08:00
pjh123 abc794709e feat: Temporal Instant 算术精确实现 2026-08-11 15:55:05 +08:00
pjh123 930bfa1ac9 feat: Temporal Instant 工厂精确实现 2026-08-11 15:21:28 +08:00