数据格式化工具
Format 提供日期、时间戳、秒数、查询字符串、对象、表单和 XML 的轻量转换能力。方法均为静态方法,通过 GB.Format() 取得工具对象后直接调用。
快速开始
先取得 Format 工具对象,再按数据类型调用对应方法。
const format = GB.Format();
format.date('Y-m-d H:i:s');
// 2026-08-31 10:30:00
format.objToQuery({ keyword: 'gentbo', page: 1 });
// keyword=gentbo&page=1
安装与引入
浏览器直接引入
在业务脚本之前加载 Format 工具。
<script src="https://cloud.m775.net/js/format.js"></script>
npm 项目
npm i @gentbo/core
import '@gentbo/core';
日期与时间
.date(type?, timestamp?)格式化当前时间或 10、13 位时间戳。格式中支持 Y/y、m、d、H/h、i、s。.time(length?, date?)取得指定日期的时间戳;length 可传 10 或 13,默认 10。.secondToDate(seconds, type?)将秒数转换为时分秒文本,格式支持 h、i、s,默认 h:i:s。const format = GB.Format();
format.date('Y/m/d H:i', 1725062400);
format.date('y-m-d h:i:s');
format.secondToDate(3725);
// 1:2:5
format.secondToDate(3725, 'h 小时 i 分 s 秒');
// 1 小时 2 分 5 秒
传给 date() 的时间戳应为字符串形式的 10 位秒级或 13 位毫秒级时间戳;未传入时使用当前时间。h 表示 12 小时制,并会在结果末尾附加 am 或 pm。
查询字符串与对象
.queryToObj(query)将查询字符串转换为普通对象,适合处理 URL 参数。.objToQuery(object)将对象编码为 key=value&... 查询字符串。.objToString(object, split?, delimiter?)将对象转换为自定义分隔符文本,默认使用分号分隔字段、等号连接键和值。const format = GB.Format();
format.queryToObj('keyword=gentbo&page=2');
// { keyword: 'gentbo', page: '2' }
format.objToQuery({ keyword: '前端工具', page: 2 });
// keyword=%E5%89%8D%E7%AB%AF%E5%B7%A5%E5%85%B7&page=2
format.objToString({ name: 'zhoubo', role: 'admin' });
// name=zhoubo;role=admin;
表单与 XML
.objToForm(object)将对象转换为 FormData,可直接作为请求体提交。.xmlToObject(xmlDocument)将 XMLDocument 根节点下的元素递归转换为对象。const format = GB.Format();
const formData = format.objToForm({ name: 'zhoubo', page: 1 });
const xml = new DOMParser().parseFromString(
'<root><name>Gentbo</name></root>',
'text/xml'
);
format.xmlToObject(xml);
// { name: 'Gentbo' }
xmlToObject() 接收的是由 DOMParser 等方式创建的 XMLDocument,而不是 XML 字符串。复杂的同名节点、混合文本与属性结构建议在业务层自行约定转换规则。
使用提示
对象转换方法会对键和值进行 URL 编码;如需保留原始文本,请在使用前确认后端的解码规则。secondToDate() 不会自动补零,适合展示时长;需要 01:02:05 形式时,可在业务层补齐。