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

JavaScript中如何获取日期对应土耳其语缩写格式星期文本

土耳其语格式星期缩写转换方案

现有代码问题点

当前代码无法输出正确土耳其语星期缩写,核心错误有三处:

  • toLocaleString配置项传参错误:{ day: 'short' }的作用是获取当月日期序号(比如16号返回16),要获取星期值必须使用weekday配置字段
  • 区域码仅传tr兼容性不足,部分运行环境会因区域码匹配失败 fallback 到系统默认语言(比如英文),导致输出不符合要求
  • 日期解析逻辑做了多余的补零转字符串操作,new Date接收的年、月、日参数为数字类型,补零转字符串反而可能触发隐式类型转换异常

修正后可直接运行的代码

/**
 * 解析dd-mm-yyyy格式的日期字符串为标准Date对象
 * @param {string} stringDate 格式为日-月-年的日期字符串,例:'16-05-2022'
 * @returns {Date} 解析后的日期对象
 */
const stringToDate = (stringDate) => {
  if (!stringDate) return new Date(); // 空值兜底,避免报错
  const [day, month, year] = stringDate.split('-');
  // Date构造函数月份参数从0开始计数,所以传入月份要减1,直接传数字类型即可无需补零
  return new Date(Number(year), Number(month) - 1, Number(day));
};

/**
 * 获取指定日期对应的土耳其语星期缩写
 * @param {string} dateStr dd-mm-yyyy格式日期字符串
 * @returns {string} 土耳其语星期缩写,例:周二返回'Sal'
 */
const getTrWeekdayShort = (dateStr) => {
  const targetDate = stringToDate(dateStr);
  // 指定tr-TR区域锁定土耳其语,配置weekday: 'short'取短格式星期文本
  return targetDate.toLocaleDateString('tr-TR', { weekday: 'short' });
};

// 业务场景调用示例
const notificationDay = getTrWeekdayShort(props.notification?.notificationList?.createdAt);
console.log(notificationDay);

土耳其语星期缩写对照参考(可用于结果校验)

  • 周一(Mon):Pzt
  • 周二(Tue):Sal
  • 周三(Wed):Çar
  • 周四(Thu):Per
  • 周五(Fri):Cum
  • 周六(Sat):Cmt
  • 周日(Sun):Paz

兼容提示:现代浏览器、主流移动端WebView、Node.js 14+版本均内置tr-TR区域语言包,无需额外配置;如果是极低版本运行环境,引入Intl对应的土耳其语语言包polyfill即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:36:15