是否可以将 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 设备?

是否有 perl 5.005 核心模块可以将纪元秒数转换为日期时间字符串?

如何用JS判断某个字符串可以转换成日期?

如何将 JavaScript 日期转换为 MySQL 日期时间格式? [复制]