[{"data":1,"prerenderedAt":953},["ShallowReactive",2],{"blog-post-/blog/zh-cn/uuid-generator-complete-guide":3,"related-posts-/zh-CN/blog/uuid-generator-complete-guide":242},{"id":4,"title":5,"author":6,"body":7,"category":225,"date":226,"description":227,"extension":228,"featured":229,"image":230,"meta":231,"navigation":232,"path":233,"readingTime":234,"seo":235,"stem":236,"tags":237,"tools":240,"__hash__":241},"content/blog/zh-CN/uuid-generator-complete-guide.md","开发者 UUID 生成完整指南","Anything Tools Editorial",{"type":8,"value":9,"toc":213},"minimark",[10,14,23,32,37,40,43,62,69,73,76,90,93,97,100,111,114,117,125,128,131,145,150,153,156,170,173,176,184,187,204,207],[11,12,5],"h1",{"id":13},"开发者-uuid-生成完整指南",[15,16,17,18,22],"p",{},"UUID 解决的是一个非常实际的问题：",[19,20,21],"strong",{},"在不依赖中心计数器的前提下，生成足够唯一的标识符","。它常见于 API、数据库、消息队列、测试数据和内部工具流程中。",[15,24,25,26,31],{},"如果你只是需要快速生成并复制一批 UUID，可以直接使用 ",[27,28,30],"a",{"href":29},"/dev/uuid-generator","Anything Tools UUID Generator","，在浏览器里就能完成。",[33,34,36],"h2",{"id":35},"uuid-到底是什么","UUID 到底是什么",[15,38,39],{},"UUID 是 Universally Unique Identifier 的缩写，中文通常会叫“通用唯一标识符”。它的设计目标很明确：尽可能降低不同系统、不同时间、不同设备之间发生冲突的概率。",[15,41,42],{},"开发里常见的使用场景包括：",[44,45,46,50,53,56,59],"ul",{},[47,48,49],"li",{},"分布式系统中的记录 ID",[47,51,52],{},"请求追踪与链路标识",[47,54,55],{},"导入导出任务的任务号",[47,57,58],{},"测试数据或演示数据",[47,60,61],{},"临时令牌与引用字段",[15,63,64,65,68],{},"它受欢迎的原因很简单：",[19,66,67],{},"不需要等数据库发号，也能先生成 ID","。",[33,70,72],{"id":71},"什么情况下-uuid-很适合","什么情况下 UUID 很适合",[15,74,75],{},"以下场景尤其适合 UUID：",[44,77,78,81,84,87],{},[47,79,80],{},"多个服务会独立创建记录",[47,82,83],{},"前端也需要先生成 ID",[47,85,86],{},"不希望暴露连续自增编号",[47,88,89],{},"需要快速构造测试数据和样例数据",[15,91,92],{},"在现代前后端分离、服务拆分、外部集成很多的系统里，UUID 往往比单机自增 ID 更省事。",[33,94,96],{"id":95},"uuid-和自增-id-的区别","UUID 和自增 ID 的区别",[15,98,99],{},"自增 ID 的优点是短、直观、易读；但它也有明显限制：",[44,101,102,105,108],{},[47,103,104],{},"能暴露数据顺序",[47,106,107],{},"很容易被猜测",[47,109,110],{},"通常依赖一个中心数据库或中心服务",[15,112,113],{},"UUID 的缺点是更长，不够“好看”；但它的优势是更适合分布式和低耦合架构。",[15,115,116],{},"一个简单判断原则是：",[44,118,119,122],{},[47,120,121],{},"简单内部库表，优先考虑自增 ID",[47,123,124],{},"多系统协作、需要独立生成时，优先考虑 UUID",[33,126,127],{"id":127},"为什么浏览器生成也很实用",[15,129,130],{},"很多时候，你并不需要专门写脚本来生成几个 ID。浏览器工具已经足够应对这些日常需求：",[44,132,133,136,139,142],{},[47,134,135],{},"手工测试时生成样例 ID",[47,137,138],{},"为文档准备示例数据",[47,140,141],{},"给管理后台或 API 请求粘贴标识符",[47,143,144],{},"快速切换大小写、连字符等格式",[15,146,147,149],{},[27,148,30],{"href":29}," 的价值就在于够快、够直接。",[33,151,152],{"id":152},"开发者真正关心的格式细节",[15,154,155],{},"不同系统对 UUID 表示方式会有细微差异，例如：",[44,157,158,161,164,167],{},[47,159,160],{},"大写还是小写",[47,162,163],{},"带不带连字符",[47,165,166],{},"要不要花括号包裹",[47,168,169],{},"一次生成一个还是一批",[15,171,172],{},"这些看起来是小事，但在接不同 API、旧系统或数据库约束时很常见。",[33,174,175],{"id":175},"相关工具怎么搭配",[15,177,178,179,183],{},"如果你经常需要查看包含 UUID 字段的接口返回，可以顺手配合 ",[27,180,182],{"href":181},"/dev/json-formatter","JSON Formatter"," 使用。它适合在调试 API 负载时快速看清结构。",[33,185,186],{"id":186},"实践建议",[44,188,189,192,195,198,201],{},[47,190,191],{},"UUID 适合做标识符，不要替代所有业务主键",[47,193,194],{},"同一系统内尽量统一格式",[47,196,197],{},"UUID 很长，但不代表它天然保密",[47,199,200],{},"在接口文档里写清楚期望格式",[47,202,203],{},"批量准备测试数据时一次多生成一些",[33,205,206],{"id":206},"结论",[15,208,209,210,212],{},"UUID 仍然是分布式软件里最实用的标识方案之一。它减少了协调成本，也让前后端、脚本和服务之间生成 ID 变得更轻松。如果你想要一个直接的浏览器工作流，可以从 ",[27,211,30],{"href":29}," 开始。",{"title":214,"searchDepth":215,"depth":215,"links":216},"",2,[217,218,219,220,221,222,223,224],{"id":35,"depth":215,"text":36},{"id":71,"depth":215,"text":72},{"id":95,"depth":215,"text":96},{"id":127,"depth":215,"text":127},{"id":152,"depth":215,"text":152},{"id":175,"depth":215,"text":175},{"id":186,"depth":215,"text":186},{"id":206,"depth":215,"text":206},"开发者工具","2026-03-24T00:00:00.000Z","了解什么是 UUID、什么时候该用它，以及如何在浏览器里快速生成适合开发流程的 UUID。","md",false,"/blog/uuid-generator-complete-guide.png",{},true,"/blog/zh-cn/uuid-generator-complete-guide",null,{"title":5,"description":227},"blog/zh-CN/uuid-generator-complete-guide",[238,225,239],"UUID 生成器","唯一标识",[29],"Pt8uC_E-pAO7bK1srrGWcEAPZJMQaNnW-5lZZmwDVuU",[243,658],{"id":244,"title":245,"author":6,"body":246,"category":225,"date":646,"description":647,"extension":228,"featured":229,"image":648,"meta":649,"navigation":232,"path":650,"readingTime":426,"seo":651,"stem":652,"tags":653,"tools":656,"__hash__":657},"content/blog/zh-CN/how-to-convert-csv-to-json-online.md","如何在 2026 年在线将 CSV 转成 JSON",{"type":8,"value":247,"toc":636},[248,251,254,262,266,269,272,289,292,295,298,301,329,332,499,502,506,509,512,529,532,535,553,556,559,562,565,568,582,589,592,595,603,607,624,626,632],[11,249,245],{"id":250},"如何在-2026-年在线将-csv-转成-json",[15,252,253],{},"CSV 仍然无处不在。它经常出现在表格导出、分析工具、CRM、支付系统以及内部后台中。真正麻烦的时刻，是你需要把这种扁平表格变成可供 API、脚本或应用使用的结构化数据。",[15,255,256,257,261],{},"如果你想要最快的浏览器流程，可以直接使用 ",[27,258,260],{"href":259},"/dev/csv-to-json","Anything Tools CSV 转 JSON 工具","。你可以粘贴 CSV、转换成 JSON，然后直接复制结果，不需要安装额外软件。",[33,263,265],{"id":264},"什么时候适合把-csv-转成-json","什么时候适合把 CSV 转成 JSON",[15,267,268],{},"当表格型数据需要进入更适合开发处理的格式时，这种转换就很有价值。",[15,270,271],{},"常见场景包括：",[44,273,274,277,280,283,286],{},[47,275,276],{},"把表格导出导入到 Web 应用",[47,278,279],{},"把市场或销售导出数据整理成 API payload",[47,281,282],{},"准备测试用示例数据",[47,284,285],{},"在写脚本前先清理简单数据集",[47,287,288],{},"在把后台数据交给工程团队前先做结构转换",[15,290,291],{},"CSV 对人类来说容易打开，JSON 对软件来说通常更容易处理。",[33,293,294],{"id":294},"转换过程中到底发生了什么",[15,296,297],{},"CSV 会把每一行保存成一条记录，把每一列保存成一个分隔值。JSON 则会给你明确的键名、数组和更清晰的数据结构。",[15,299,300],{},"比如下面这段 CSV：",[302,303,307],"pre",{"className":304,"code":305,"language":306,"meta":214,"style":214},"language-csv shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","name,email,plan\nAva,ava@example.com,pro\nLeo,leo@example.com,starter\n","csv",[308,309,310,318,323],"code",{"__ignoreMap":214},[311,312,315],"span",{"class":313,"line":314},"line",1,[311,316,317],{},"name,email,plan\n",[311,319,320],{"class":313,"line":215},[311,321,322],{},"Ava,ava@example.com,pro\n",[311,324,326],{"class":313,"line":325},3,[311,327,328],{},"Leo,leo@example.com,starter\n",[15,330,331],{},"通常会变成这样的 JSON：",[302,333,337],{"className":334,"code":335,"language":336,"meta":214,"style":214},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\n  {\n    \"name\": \"Ava\",\n    \"email\": \"ava@example.com\",\n    \"plan\": \"pro\"\n  },\n  {\n    \"name\": \"Leo\",\n    \"email\": \"leo@example.com\",\n    \"plan\": \"starter\"\n  }\n]\n","json",[308,338,339,345,350,377,398,418,424,429,449,469,487,493],{"__ignoreMap":214},[311,340,341],{"class":313,"line":314},[311,342,344],{"class":343},"sMK4o","[\n",[311,346,347],{"class":313,"line":215},[311,348,349],{"class":343},"  {\n",[311,351,352,355,359,362,365,368,372,374],{"class":313,"line":325},[311,353,354],{"class":343},"    \"",[311,356,358],{"class":357},"spNyl","name",[311,360,361],{"class":343},"\"",[311,363,364],{"class":343},":",[311,366,367],{"class":343}," \"",[311,369,371],{"class":370},"sfazB","Ava",[311,373,361],{"class":343},[311,375,376],{"class":343},",\n",[311,378,380,382,385,387,389,391,394,396],{"class":313,"line":379},4,[311,381,354],{"class":343},[311,383,384],{"class":357},"email",[311,386,361],{"class":343},[311,388,364],{"class":343},[311,390,367],{"class":343},[311,392,393],{"class":370},"ava@example.com",[311,395,361],{"class":343},[311,397,376],{"class":343},[311,399,401,403,406,408,410,412,415],{"class":313,"line":400},5,[311,402,354],{"class":343},[311,404,405],{"class":357},"plan",[311,407,361],{"class":343},[311,409,364],{"class":343},[311,411,367],{"class":343},[311,413,414],{"class":370},"pro",[311,416,417],{"class":343},"\"\n",[311,419,421],{"class":313,"line":420},6,[311,422,423],{"class":343},"  },\n",[311,425,427],{"class":313,"line":426},7,[311,428,349],{"class":343},[311,430,432,434,436,438,440,442,445,447],{"class":313,"line":431},8,[311,433,354],{"class":343},[311,435,358],{"class":357},[311,437,361],{"class":343},[311,439,364],{"class":343},[311,441,367],{"class":343},[311,443,444],{"class":370},"Leo",[311,446,361],{"class":343},[311,448,376],{"class":343},[311,450,452,454,456,458,460,462,465,467],{"class":313,"line":451},9,[311,453,354],{"class":343},[311,455,384],{"class":357},[311,457,361],{"class":343},[311,459,364],{"class":343},[311,461,367],{"class":343},[311,463,464],{"class":370},"leo@example.com",[311,466,361],{"class":343},[311,468,376],{"class":343},[311,470,472,474,476,478,480,482,485],{"class":313,"line":471},10,[311,473,354],{"class":343},[311,475,405],{"class":357},[311,477,361],{"class":343},[311,479,364],{"class":343},[311,481,367],{"class":343},[311,483,484],{"class":370},"starter",[311,486,417],{"class":343},[311,488,490],{"class":313,"line":489},11,[311,491,492],{"class":343},"  }\n",[311,494,496],{"class":313,"line":495},12,[311,497,498],{"class":343},"]\n",[15,500,501],{},"这种结构更适合在 JavaScript、API 请求和测试数据中复用。",[33,503,505],{"id":504},"csv-最常见的问题","CSV 最常见的问题",[15,507,508],{},"转换本身并不复杂，真正容易出问题的往往是输入数据。",[15,510,511],{},"典型问题包括：",[44,513,514,517,520,523,526],{},[47,515,516],{},"表头缺失或重复",[47,518,519],{},"分隔符不一致，比如逗号和分号混用",[47,521,522],{},"带引号字段里本身包含逗号",[47,524,525],{},"文件结尾有空行",[47,527,528],{},"某些数字看起来像数字，但其实应该保留为字符串",[15,530,531],{},"一个好的在线转换工具，能让你在数据进入后续系统之前先发现这些问题。",[33,533,534],{"id":534},"一套实用流程",[536,537,538,541,544,547,550],"ol",{},[47,539,540],{},"把原始 CSV 粘贴进转换工具。",[47,542,543],{},"确认分隔符和表头行识别正确。",[47,545,546],{},"先预览几行结果。",[47,548,549],{},"检查 ID、邮编、电话号码或 SKU 是否应该保留为字符串。",[47,551,552],{},"复制 JSON 输出，并在正式使用前做一次校验。",[15,554,555],{},"这一轮快速检查，通常就能避免大多数错误导入。",[33,557,558],{"id":558},"表头比很多人想象得更重要",[15,560,561],{},"表头质量，直接决定 JSON 质量。",[15,563,564],{},"如果 CSV 表头写得清楚，JSON 键名通常也会更干净；如果表头含糊或不一致，结果很快就会变得难用。",[15,566,567],{},"好的表头应该：",[44,569,570,573,576,579],{},[47,571,572],{},"唯一",[47,574,575],{},"有描述性",[47,577,578],{},"在不同导出之间保持稳定",[47,580,581],{},"没有意外空格",[15,583,584,585,588],{},"如果你想在转换后再快速整理一遍结果，可以接着使用 ",[27,586,587],{"href":181},"Anything Tools JSON Formatter"," 提升可读性并做结构校验。",[33,590,591],{"id":591},"隐私与浏览器内转换",[15,593,594],{},"很多 CSV 文件都包含客户信息、运营导出或内部报表数据。这也是浏览器工具仍然有价值的原因之一：它减少了流程摩擦，让快速转换更容易掌控。",[15,596,597,598,602],{},"如果你还需要顺手检查 payload 大小、字段长度或导入备注，可以搭配 ",[27,599,601],{"href":600},"/text/text-counter","Text Counter"," 一起使用。",[33,604,606],{"id":605},"_2026-年最佳实践","2026 年最佳实践",[44,608,609,612,615,618,621],{},[47,610,611],{},"转换前先清理表头",[47,613,614],{},"抽查开头和结尾几行",[47,616,617],{},"格式敏感的标识符尽量保留为字符串",[47,619,620],{},"发给 API 前先验证最终 JSON",[47,622,623],{},"保留一个小型样例文件用于重复测试",[33,625,206],{"id":206},[15,627,628,629,631],{},"在线把 CSV 转成 JSON 并不难，但输入是否干净仍然决定结果质量。真正的目标不只是换一种文件格式，而是得到可以放心使用的结构化数据。如果你想要快速的浏览器流程，可以从 ",[27,630,260],{"href":259}," 开始，把表格导出在几秒内变成可用 JSON。",[633,634,635],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":214,"searchDepth":215,"depth":215,"links":637},[638,639,640,641,642,643,644,645],{"id":264,"depth":215,"text":265},{"id":294,"depth":215,"text":294},{"id":504,"depth":215,"text":505},{"id":534,"depth":215,"text":534},{"id":558,"depth":215,"text":558},{"id":591,"depth":215,"text":591},{"id":605,"depth":215,"text":606},{"id":206,"depth":215,"text":206},"2026-04-01T00:00:00.000Z","一份实用指南，帮助你在浏览器中把 CSV 转成干净的 JSON，并减少表头与数据结构错误。","/blog/how-to-convert-csv-to-json-online.png",{},"/blog/zh-cn/how-to-convert-csv-to-json-online",{"title":245,"description":647},"blog/zh-CN/how-to-convert-csv-to-json-online",[654,225,655],"CSV 转 JSON","数据转换",[259],"di5kDnVjoe6Nanm8cu7XIQm8p5bjiSajOtCVWD1_6D8",{"id":659,"title":660,"author":661,"body":662,"category":225,"date":939,"description":940,"extension":228,"featured":229,"image":941,"meta":942,"navigation":232,"path":943,"readingTime":431,"seo":944,"stem":945,"tags":946,"tools":951,"__hash__":952},"content/blog/zh-CN/how-to-convert-unix-timestamp-to-date.md","如何在 2026 年把 Unix 时间戳转换为日期","Anything Tools Team",{"type":8,"value":663,"toc":928},[664,667,670,677,681,688,691,704,707,721,724,727,730,744,747,751,754,759,773,776,780,783,786,800,803,806,817,820,823,826,843,849,852,855,863,866,869,872,875,889,892,895,898,915,918,920,923],[11,665,660],{"id":666},"如何在-2026-年把-unix-时间戳转换为日期",[15,668,669],{},"Unix 时间戳几乎到处都在出现：API 返回、日志、数据库记录、分析事件、缓存键、定时任务。对系统来说它紧凑又高效，但对人类排查问题时并不直观。",[15,671,672,673,68],{},"这也是为什么开发者总要把一串原始数字转换成真正可读的日期和时间。如果你想用最快的方式处理这件事，可以直接打开 ",[27,674,676],{"href":675},"/dev/timestamp","Anything Tools Unix Timestamp Converter",[33,678,680],{"id":679},"unix-时间戳到底表示什么","Unix 时间戳到底表示什么",[15,682,683,684,687],{},"Unix 时间戳表示从 ",[19,685,686],{},"1970 年 1 月 1 日 00:00:00 UTC"," 到某一时刻所经过的秒数或毫秒数。",[15,689,690],{},"真正最容易出错的地方只有两个：",[44,692,693,699],{},[47,694,695,696],{},"有些系统用 ",[19,697,698],{},"秒",[47,700,695,701],{},[19,702,703],{},"毫秒",[15,705,706],{},"例如：",[44,708,709,715],{},[47,710,711,714],{},[308,712,713],{},"1711718400"," 通常是秒",[47,716,717,720],{},[308,718,719],{},"1711718400000"," 通常是毫秒",[15,722,723],{},"如果单位看错，转换出来的日期通常会离谱到一眼就知道不对。",[33,725,726],{"id":726},"为什么时间戳转换总是容易出错",[15,728,729],{},"多数时间戳问题并不是计算公式错了，而是上下文缺失：",[44,731,732,735,738,741],{},[47,733,734],{},"后端返回毫秒，前端却按秒处理",[47,736,737],{},"日志里是 UTC，浏览器展示的是本地时间",[47,739,740],{},"字符串值被错误解析",[47,742,743],{},"同一个排查流程里混用了 ISO 字符串、本地时间和 epoch 数字",[15,745,746],{},"因此调试时间字段时，先确认单位、时区和展示格式，再判断数据本身有没有问题。",[33,748,750],{"id":749},"用浏览器转换通常比临时写代码更快","用浏览器转换，通常比临时写代码更快",[15,752,753],{},"在日常开发里，每次都为一个时间戳去开控制台写一段临时代码，其实很低效。浏览器里的转换工具更适合快速排查。",[15,755,756,758],{},[27,757,676],{"href":675}," 的价值就在于它能让你：",[44,760,761,764,767,770],{},[47,762,763],{},"立即把时间戳转换为可读日期",[47,765,766],{},"把日期再转回 epoch",[47,768,769],{},"在秒与毫秒之间快速切换",[47,771,772],{},"不必把值发到别处就能直接查看结果",[15,774,775],{},"处理生产日志、Webhook 负载或复制出来的 JSON 片段时，这种工作流尤其顺手。",[33,777,779],{"id":778},"先分清-utc本地时间和-iso-字符串","先分清 UTC、本地时间和 ISO 字符串",[15,781,782],{},"时间戳本身并没有“时区偏见”。真正让人困惑的是展示方式。",[15,784,785],{},"同一个时间点，常见会被渲染成：",[44,787,788,791,794,797],{},[47,789,790],{},"UTC 时间",[47,792,793],{},"浏览器所在时区的本地时间",[47,795,796],{},"ISO 8601 字符串",[47,798,799],{},"应用内部自定义格式",[15,801,802],{},"它们指向的是同一个时刻，只是呈现方式不同。",[15,804,805],{},"当你觉得时间“不对”时，最有效的检查顺序通常是：",[536,807,808,811,814],{},[47,809,810],{},"原始时间戳对不对？",[47,812,813],{},"单位是秒还是毫秒？",[47,815,816],{},"你看到的是 UTC 还是本地时间？",[15,818,819],{},"这三步能解决大多数排查问题。",[33,821,822],{"id":822},"常见开发场景",[15,824,825],{},"时间戳转换经常出现在这些任务里：",[44,827,828,831,834,837,840],{},[47,829,830],{},"检查 token 什么时候过期",[47,832,833],{},"阅读审计日志",[47,835,836],{},"排查定时任务执行时间",[47,838,839],{},"校验分析事件是否延迟",[47,841,842],{},"对照数据库记录与 API 输出",[15,844,845,846,848],{},"如果时间戳只是一个更大 JSON 对象中的字段，也可以先用 ",[27,847,587],{"href":181}," 把结构整理清楚，再看日期字段会更省时间。",[33,850,851],{"id":851},"秒和毫秒的最快判断方法",[15,853,854],{},"如果你只记住一条经验规则，那就是先看位数：",[44,856,857,860],{},[47,858,859],{},"10 位数字通常是秒",[47,861,862],{},"13 位数字通常是毫秒",[15,864,865],{},"这不是数学定律，但在实际排查中非常有效，能快速挡掉大量低级错误。",[15,867,868],{},"另外也要警惕某些 API 文档写的是一种单位，实际通过中间层或 SDK 返回的却是另一种单位。",[33,870,871],{"id":871},"这些边界情况也别忽略",[15,873,874],{},"到了 2026 年，下面这些问题仍然值得留意：",[44,876,877,880,883,886],{},[47,878,879],{},"1970 年之前的负时间戳",[47,881,882],{},"老旧 32 位环境里的 2038 问题",[47,884,885],{},"夏令时切换导致的本地显示变化",[47,887,888],{},"JSON 中字符串和数字类型混用",[15,890,891],{},"现代浏览器和主流语言通常都能很好处理这些情况，但前提是你排查时足够明确。",[33,893,894],{"id":894},"一套可重复使用的排查流程",[15,896,897],{},"当某个时间值看起来可疑时，可以直接按这套流程走：",[536,899,900,903,906,909,912],{},[47,901,902],{},"复制原始时间戳。",[47,904,905],{},"先判断它是 10 位还是 13 位。",[47,907,908],{},"在浏览器里转换。",[47,910,911],{},"对比 UTC 和本地时间。",[47,913,914],{},"回溯这个字段来自哪个系统。",[15,916,917],{},"这样可以避免一种很常见的误区：表面上修的是展示 bug，实际上真正的问题是上游单位传错了。",[33,919,206],{"id":206},[15,921,922],{},"Unix 时间戳对机器很高效，但对人类并不友好。真正高效的做法，不是每次临时写脚本，而是手边一直有一套稳定的转换流程，并且先确认单位。",[15,924,925,926,212],{},"如果你需要一个轻量直接的方式来查看 epoch、互转日期，并快速区分秒和毫秒，可以从 ",[27,927,676],{"href":675},{"title":214,"searchDepth":215,"depth":215,"links":929},[930,931,932,933,934,935,936,937,938],{"id":679,"depth":215,"text":680},{"id":726,"depth":215,"text":726},{"id":749,"depth":215,"text":750},{"id":778,"depth":215,"text":779},{"id":822,"depth":215,"text":822},{"id":851,"depth":215,"text":851},{"id":871,"depth":215,"text":871},{"id":894,"depth":215,"text":894},{"id":206,"depth":215,"text":206},"2026-03-29T00:00:00.000Z","学习如何把 Unix 时间戳转换成人类可读日期，避开秒与毫秒混淆，并更高效地排查时间字段问题。","/blog/how-to-convert-unix-timestamp-to-date.png",{},"/blog/zh-cn/how-to-convert-unix-timestamp-to-date",{"title":660,"description":940},"blog/zh-CN/how-to-convert-unix-timestamp-to-date",[947,948,949,950,225],"Unix 时间戳","Epoch 时间","日期转换","调试",[675],"KJJ5-xphStiQykU_6qywEmVTjmHtsRT4YgDv6UGWGEg",1781140611258]