javascript - javascript 将日期格式转换为清晰的格式
问题描述
我有这段代码,它让我以可辨认的格式获取日期,但它当前输出这种格式20200819
,但我想将其转换2020-08-19
为这可能吗?
这是我的代码
const dateConverter = (dateIn) => {
var yyyy = dateIn.getFullYear();
var mm = dateIn.getMonth() + 1; // getMonth() is zero-based
var dd = dateIn.getDate();
return String(10000 * yyyy + 100 * mm + dd); // Leading zeros for mm and dd
}
var today = new Date();
console.log(dateConverter(today));
解决方案
您不需要转换器功能。只需使用toLocaleDateString
具有这种格式的语言环境,例如瑞典。
为了更确定格式,我添加了两个扩展:
console.log(new Date().toLocaleDateString("en-se"));
// To be explicit about the format of the numerical parts
console.log(new Date().toLocaleDateString("en-se",
{ year: "numeric", month: "2-digit", day: "2-digit" })
);
// To be explicit about the delimiter also:
console.log(new Date().toLocaleDateString("en-se",
{ year: "numeric", month: "2-digit", day: "2-digit" })
.replace(/\D/g, "-")
);
选择:
如果您不想依赖本机toLocaleDateString
函数,请在代码中替换以下行:
return String(10000 * yyyy + 100 * mm + dd)
和:
return String(10000 * yyyy + 100 * mm + dd).replace(/(....)(..)(..)/,"$1-$2-$3");
推荐阅读
- robotframework - \?{argument} 和 ?{argument} 在机器人框架中是什么意思?
- r - 使用同一组中满足条件的第一行设置列值
- chapel - 场地的适当教堂所有权
- javascript - 使用 javascript 压缩/缩小动态生成的 html
- selenium - Xpath / Selenium - 如何获取所有选项
- git - GIT:仅将一些更改提交到当前分支,其余更改到新分支
- c# - windowsform 的日历是否与 asp.net 中的日历相同?
- sql-server - 在 SQL 上创建函数
- python - 从消息中提取用户名模式
- c# - 使用 saga 事件对消费者中发布的消息做出反应