是否可以将 js 字符串转换为日期以将其上传到 SQL 数据库?
Posted
技术标签:
【中文标题】是否可以将 js 字符串转换为日期以将其上传到 SQL 数据库?【英文标题】:Is it possible to transform a js string into a date to upload it to a SQL database? 【发布时间】:2020-12-10 00:22:47 【问题描述】:所以我正在开发一个机器人,我试图让它上传两个日期,但我可以拥有的参数是数字(在字符串中)。所以我有两个字符串,例如“08222020”和“10282022”,我需要将它们转换为日期,以便能够将其插入到我的数据库中。 谢谢。
【问题讨论】:
【参考方案1】:你可以使用:
new Date(string);
【讨论】:
返回无效日期,因为字符串格式不正确 您好,感谢您的快速回复!它告诉我这是一个无效的日期。我用 var FinishDate = new Date(args[3]); 声明了变量args[3] 等于 08222020 查看 Finn Lyonn 的答案,将日期转换为可解析的日期。【参考方案2】:先转换字符串
let d = '08222020';
d = d.slice(0, 2) + '/' + d.slice(2, 4) + '/' + d.slice(4, 8);
new Date(d);
【讨论】:
【参考方案3】:正如你描述你的问题。
是的,可以做到。
使用new Date()
例如:
new Date(Number('08222020')) // to convert into date
使用new Date(08222020).getDay()
获取日、月、年等。
【讨论】:
返回 1970 年 1 月 1 日星期四。不太准确 furthur use new Date(08222020).getDay() //代表日期 new Date(08222020).getMonth() //代表月份和 new Date(08222020).getYear() //代表年份【参考方案4】:将字符串转换为对象以具有更多的“可定制性”。您可以拥有自己的日期格式。由于它是一个对象,因此您可以添加、删除或操作任何属性。
function convertToDate(date)
var arr = date.match(/.2,2/g);
let obj = ;
for(var i = 0; i <= arr.length; i++)
if(i == 0)
obj.date = arr[i]
if(i == 1)
obj.month = arr[i]
if(i == 3)
obj.year = "20" + arr[i] //I supp
return JSON.stringify(obj)
var b = convertToDate("20062045")
console.log(b)
【讨论】:
【参考方案5】:您好 Tomas,欢迎来到 SO。
var date = '08222020';
date = Number.parseInt(date);
const d = new Date(date);
var year = d.getUTCFullYear();
var month = d.getUTCMonth() + 1;
var day = d.getUTCDate();
//the right format for mysql
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
date = year + '-' + month + '-' + day;
console.log(year);
console.log(month);
console.log(day);
console.log(date);
//output
1970
"01"
"01"
"1970-01-01"
【讨论】:
托马斯没问题以上是关于是否可以将 js 字符串转换为日期以将其上传到 SQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 MongooseMap 转换为 JSON 对象以将其从 Node js 发送到 React?
如何实现“tzinfo”以将当前 GMT 偏移到 EST(GMT -4:00)?
如何将字符串转换为 NSData 以将其传递给 BLE 设备?