所属分类:web前端开发
在处理数据库时,JavaScript 中的日期时间操作非常重要。 JavaScript 日期和时间与 MySQL 日期和时间不同。 JavaScript 提供了多种方式来表示日期和时间,这些格式都与 MySQL 的日期和时间格式不同。在本文中,我们将讨论一些将 JS 日期和时间转换为 MySQL 日期和时间格式的方法。
首先,我们要了解Javascript和MySQL日期和时间格式之间的区别。这是一个例子 -
Javascript−
ISO 8601 Date Format : YYYY-MM-DDTHH:mm:ss.sssZ
MySQL −
ISO 8601 Date Format: YYYY-MM-DD HH:MM:SS
这里有一些将 JS 日期转换为 MySQL 日期格式的方法 -
使用 String split() 和 slice() 方法
使用 String Replace() 和 slice() 方法
以下是此方法中遵循的步骤 -
获取 Javascript 日期并使用 .toISOString() 方法将其转换为 ISO 日期格式。
使用 String.split( ) 方法将 ISO 字符串拆分为两部分,并使用“T”作为分隔符
声明两个变量 data 和 time 并分配 String 的相应部分。
合并日期和时间字符串。
在此示例中,我们使用 split() 和 slice() 方法将 JavaScript 日期时间转换为 MySQL 日期时间。
<html> <body> <h2>Convert JavaScript datetime to MySQL datetime</h2> <p>Click the following button to convert JavaScript datetime to MySQL datetime</p><br> <button id="btn" onclick="convert()"> Click Here </button> <br> <p id="result1">JavaScript Time: </p> <p id="result2">MySQL Time: </p> <script> // function to convert JavaScript date to MySQL date-time format function convert() { let out1 = document.getElementById("result1"); // create a new Date object let dt = new Date(); // convert the date object to ISO string format dt = dt.toISOString(); out1.innerText += dt; // split the ISO string into date and time dt = dt.split("T"); // separate the date and time into separate variables let date = dt[0]; let time = dt[1].slice(0, 8); // combine date and time into a single MySQL-format string let mysqlTime = date + " " + time; // get the output element and set its text content to the MySQL time string let out2 = document.getElementById("result2"); out2.innerText += mysqlTime; } </script> </body> </html>
经过一些缩小后,JavaScript 代码可以写成 -
function convert() { let dt = new Date().toISOString().split("T"); let mysqlTime = dt[0] + " " + dt[1].slice(0, 8); let out = document.getElementById("output"); out.innerText += mysqlTime; }
以下是此方法中遵循的步骤 -
获取 Javascript 日期并使用 .toISOString() 方法将其转换为 ISO 日期格式。
将 T 替换为空格。
将 ISO 日期字符串切片直至第 19 个字符
在此示例中,我们使用replace() 和slice() 方法将JavaScript 日期时间转换为MySQL 日期时间。
<html> <body> <h2>Convert JavaScript datetime to MySQL datetime</h2> <p>Click the following button to convert JavaScript datetime to MySQL datetime</p><br> <button id="btn" onclick="convert( )"> Click Here </button><br> <p id="result1">JavaScript Time: </p> <p id="result2">MySQL Time: </p> <script> // function to convert JavaScript date to MySQL date-time format function convert() { let out1 = document.getElementById("result1"); // Create a new Date object let dt = new Date(); // Convert the date object to an ISO string dt = dt.toISOString(); out1.innerText += dt; // Replace the 'T' character with a space dt = dt.replace("T", " ") // Slice the string, up to the 19th character dt = dt.slice(0, 19); // Print the string let out2 = document.getElementById("result2"); out2.innerText += dt; } </script> </body> </html>
经过一些缩小后,JavaScript 代码可以写成 -
function convert() { let dt = new Date().toISOString().replace("T", " ").slice(0, 19); let out = document.getElementById("output"); out.innerText += dt; }
我们在这里通过示例讨论了两种将 JavaScript 日期时间转换为 MySQL 日期时间的方法。