gpt4 book ai didi

javascript - 如何返回土耳其格式的日期?

转载 作者:行者123 更新时间:2023-11-30 09:12:13 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,将毫秒转换为日期形式,该形式应与土耳其语兼容,格式如 "<2-digits of day>-<full name of month>-<4-digits of year>".

我已经尝试过函数 .toLocaleDateString("tr-TR") 但无法尝试服务器包含的替代库,例如 Momemtjs 和 Datejs,因为我需要在客户端使用它。我已经尝试过使用 console.log() 来处理带有或不带有 .toString() 的每个变量,但无法弄清楚。

const dSelector = document.querySelectorAll(".date");
const formatDate = (de) => {
var monthNames = [
"Ocak", "Şubat", "Mart",
"Nisan", "Mayıs", "Haziran", "Temmuz",
"Ağustos", "Eylül", "Ekim",
"Kasım", "Aralık"
];
var date = new Date(de);
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
return `${day}-${monthNames[monthIndex]}-${year}`;
}
dSelector.forEach((d) => {
d.innerHTML = formatDate(d.innerHTML);
});

预期输出:"`<day>-<month>-<year>"

实际输出:"NaN-undefined-NaN"

最佳答案

如果您为.toLocaleDateString()使用正确的选项参数,您可以获得您想要的格式。虽然还没有找到添加破折号的选项,但替换可以解决这个问题:

const date_input = document.querySelector( '#some_date' );
const options = {
year: 'numeric',
month: 'long',
day: 'numeric'
};
const formatter = ms => new Date( ms )
.toLocaleDateString("tr-TR", options )
.replace( / /g, '-' );

// If we don't parse the string to a number, we get an invalid Date object:
const invalid_str = formatter( date_input.value );
console.log( invalid_str );

const valid_str = formatter( parseInt( date_input.value, 10));
console.log( valid_str );
<input id="some_date" value="1567180483137">

关于javascript - 如何返回土耳其格式的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57729126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com