[英]Split string to only get positions 1, 2 and 3, removing everything else
我正在使用 nodejs + mysql,我想在 json api 中顯示日期。
日期不是字符串,是 mysql 日期類型。
E* 我不能 select date(columnname) 因為我已經從表中選擇了所有內容。 這是我的查詢:
var query_ = `
SELECT p.*, GROUP_CONCAT(ss.name) AS technologies
FROM Projects_Project AS p
JOIN Projects_rel_Project_Skill AS prps ON prps.Project = p.ProjectID
JOIN Skills AS ss ON ss.skillID = prps.Skill
GROUP BY p.ProjectID
ORDER BY p.date DESC;`;
var mylist = results.map(row => ({
'date': row.date
}));
這將 output: "2022-08-24T05:00:00.000Z"
所以我的嘗試是在T之后使用.split,但它給出了一個錯誤,說.split只能用於字符串並且日期不是字符串。
var mylist = results.map(row => ({
'date': row.date.split('T')[0]
}));
所以搜索更多我嘗試將其轉換為字符串,但 output 是不同的。
var mylist = results.map(row => ({
'date': row.date.toString()
}));
“2022 年 8 月 24 日星期三 00:00:00 GMT-0500(中部夏令時間)”
所以現在的問題是我只想要“2022 年 8 月 24 日”,我不知道該怎么做。 使用.split(' ')[1]
只會給我“Aug”
我也嘗試做.split(' ')[1, 2, 3]
和.split(' ')[1][2][3]
但什么也沒做。
您可以嘗試使用toLocaleDateString
來格式化日期。 例如:
date: row.date.toLocaleString('en-US', {
day: 'numeric',
month: 'short',
year: 'numeric'
});
這將是 output Aug 24, 2022
。
row.date
是一個Date
object,您可以使用toISOString()
方法將其轉換為字符串:
const now = new Date(); console.log(now.toISOString().split("T"))
因此,在您的情況下,它將是:
var mylist = results.map(row => ({
'date': row.date.toISOString().split('T')[0]
}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.