You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取不含时间部分的当前日期,可支持多语言格式?

日期格式化实现方案

核心需求实现

你需要的 周缩写, 日期 月份缩写 年份 格式可以直接通过 JS 内置的 toLocaleDateString API 实现,不需要手动拆分日期字段:

const formatOptions = {
  weekday: 'short',
  day: '2-digit',
  month: 'short',
  year: 'numeric'
}
// 输出匹配示例:Tue, 28 Sep 2021
const targetDateStr = new Date()
  .toLocaleDateString('en-US', formatOptions)
  .replace(/(\w+) (\d+), (\w+) (\d+)/, '$1, $2 $3 $4')

如果对逗号位置没有严格要求,可省略正则替换步骤,直接用API返回结果即可

Firebase场景适配

你提到的firebase.firestore.FieldValue.serverTimestamp()是Firebase服务端生成的时间戳,本身包含完整时间信息,可根据你的业务需求选择处理时机:

  • 对时间精度要求低:本地格式化完日期字符串直接写入Firebase存储
  • 需要服务端校准时间:存完整的Timestamp类型到Firebase,读取后转成Date对象再按上面的方法格式化,避免客户端时间不准的问题

你提到的直接用Date()存储会保留日期格式而非字符串是正确的:如果仅需要展示用,可直接存格式化后的字符串;如果后续需要做日期排序、计算等操作,建议存完整的Timestamp/Date对象,展示时再格式化,灵活度更高。

多语言格式支持

可以直接修改toLocaleDateString的第一个参数(语言标签)实现其他语言的日期格式,常用示例:

  • 中文简体:传入zh-CN,输出示例:周二, 28 9月 2021
  • 日语:传入ja-JP,输出示例:火, 28 9月 2021
  • 法语:传入fr-FR,输出示例:mar., 28 sept. 2021

内容的提问来源于stack exchange,提问作者React Enjoyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:18:02