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
|
2ebb856b1b
|
fix: PlainMonthDay.with 部分字段转换前移至 options 读取之前
|
2026-09-12 04:56:52 +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
|
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
|
27cc6333f5
|
feat: Temporal.PlainTime.from 三分支解析(字符串/实例/bag)
|
2026-08-17 02:19:01 +08:00 |
|
pjh123
|
a8e68a7a45
|
feat: Temporal.PlainTime toString options 与字符串化族
|
2026-08-17 02:14: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
|
50582e7fae
|
feat: 字符串时区注解并行提取 helper(提取与剥离同一次扫描)
|
2026-08-16 22:44:30 +08:00 |
|
pjh123
|
7604995995
|
feat: ZDT local_to_epoch_ns 逆换算工具与时区 ±HHMM 归一
|
2026-08-16 22:33:30 +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
|
662fbcde86
|
feat: ZonedDateTime 27 个属性 getter 宏化实现
|
2026-08-16 21:21:07 +08:00 |
|
pjh123
|
b0ab61d318
|
feat: ZonedDateTime 时区参数支持 ±HH 基本偏移前置
|
2026-08-16 21:20:51 +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
|
cf6d521c34
|
refactor: Temporal 槽迁移预埋日历槽(make_* 加日历参数、getter 读槽兜底 iso8601,行为不变)
|
2026-08-16 17:13:39 +08:00 |
|
pjh123
|
2777c5592b
|
fix: Temporal 日历注解白名单化,u-ca 校验扩到 18 项内置日历
|
2026-08-16 15:19:45 +08:00 |
|
pjh123
|
fe8892079e
|
chore: 全仓 rustfmt 格式化归拢
|
2026-08-16 12:50:36 +08:00 |
|
pjh123
|
d6eee1347c
|
chore: 清理 oxide_builtins clippy 告警
|
2026-08-14 05:26:35 +08:00 |
|
pjh123
|
3ad80d6ed4
|
perf: new_string_owned 零拷贝路径替代 new_string 二次克隆
|
2026-08-13 14:55:08 +08:00 |
|
pjh123
|
0a4e42334d
|
feat: Duration.total 支持字符串/原始值 relativeTo 语义(无效与越界字符串 RangeError、数字/null 等 TypeError、days 日历路径),total 子集 41/29
|
2026-08-12 16:58:57 +08:00 |
|
pjh123
|
f2214ab95b
|
feat: Temporal.Duration.prototype.round(无日历单位路径:选项校验+24h 天舍入+按最大单位平衡,绑定注册)
|
2026-08-12 16:16:22 +08:00 |
|
pjh123
|
1563fdc845
|
feat: Temporal.Duration.prototype.add(分量精确求和+按最大单位平衡+范围校验,绑定注册);add 子集 32/0
|
2026-08-12 14:50:13 +08:00 |
|
pjh123
|
7c1da3f979
|
fix: Instant 参数转换按规范——非字符串原始值直接抛 TypeError(from/compare/equals/since/until)
|
2026-08-12 14:33:16 +08:00 |
|
pjh123
|
79346097ac
|
feat: Temporal.PlainDateTime.prototype.equals(实例/字符串/对象/ZDT 统一比较,绑定注册)
|
2026-08-12 14:27:25 +08:00 |
|
pjh123
|
5032175707
|
fix: Temporal PlainDate/PlainDateTime.from 表示范围边界、leap second、constrain 下限与实例转换
|
2026-08-12 14:17:28 +08:00 |
|
pjh123
|
5b884d6e75
|
feat: Temporal PlainDate 字符串走 ParseTemporalDateString(注解/UTC/小数位/分数分钟校验),property bag 支持 monthCode 与日历标识符解析
|
2026-08-12 13:49:58 +08:00 |
|
pjh123
|
0b6d309cea
|
fix: PlainDate/PlainDateTime until/since 月分解 days 计算(current 保持真实钳制日期,锚定日只用于越界比较)
|
2026-08-12 13:31:15 +08:00 |
|
pjh123
|
000e2ce872
|
feat: PlainDate/PlainDateTime until/since 舍入选项(roundingMode/roundingIncrement/smallestUnit,GetDifferenceSettings 对齐)
|
2026-08-12 13:26:10 +08:00 |
|
pjh123
|
64a5da45c0
|
feat: PlainDate equals/compare 字符串参数经 date_like_ymd 转换并做 ISO 范围校验
|
2026-08-12 10:47:43 +08:00 |
|