在Node.JS中使用MySQL日期格式

在Node.JS中使用MySQL日期格式

阅读更多:MySQL 教程

简介

MySQL是一种常用的关系型数据库,在Node.JS中使用MySQL进行数据操作也非常常见。在MySQL中,日期格式有许多种,在Node.JS中处理日期非常重要。本文将介绍在Node.JS中如何使用MySQL日期格式。

MySQL日期格式

在MySQL中,日期格式有很多种,最常用的有三种:

  • DATE: YYYY-MM-DD
  • DATETIME: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP: YYYY-MM-DD HH:MM:SS

在Node.JS中,我们可以使用第三方库mysql2来连接MySQL数据库,并对日期进行格式化操作。

使用mysql2连接MySQL数据库

在使用mysql2之前,我们需要先安装它。打开终端,输入以下命令:

npm install mysql2

安装完成后,我们可以连接MySQL数据库:

const mysql = require('mysql2');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'testdb'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected!');
});

格式化DATE

如果我们想要在MySQL中插入一个日期类型的数据,可以使用以下代码:

const date = '2021-11-11';

const sql = 'INSERT INTO orders (order_date) VALUES (?)';

connection.query(sql, [date], (err, result) => {
  if (err) throw err;
  console.log('Insert successful!');
});

这里将日期格式化为字符串,并使用?占位符传给MySQL,MySQL会自动解析字符串并将其存储为日期类型的数据。

如果我们想要在Node.JS中获取MySQL中存储的日期数据,可以使用以下代码:

connection.query('SELECT order_date FROM orders WHERE id = 1', (err, result) => {
  if (err) throw err;
  const date = result[0].order_date.toISOString().substring(0, 10);
  console.log(date);
});

这里使用toISOString()方法将MySQL中存储的日期转为ISO格式的字符串,再使用substring(0, 10)方法截取日期部分并输出。

格式化DATETIME

如果我们想要在MySQL中插入一个DATETIME类型的数据,可以使用以下代码:

const datetime = '2021-11-11 11:11:11';

const sql = 'INSERT INTO orders (order_datetime) VALUES (?)';

connection.query(sql, [datetime], (err, result) => {
  if (err) throw err;
  console.log('Insert successful!');
});

这里与DATE类型类似,将DATETIME格式化为字符串,并使用?占位符传给MySQL

如果我们想要在Node.JS中获取MySQL中存储的DATETIME数据,可以使用以下代码:

connection.query('SELECT order_datetime FROM orders WHERE id = 1', (err, result) => {
  if (err) throw err;
  const datetime = result[0].order_datetime.toISOString().replace('T', ' ').substring(0, 19);
  console.log(datetime);
});

这里与DATE类型不同的是,需要先使用toISOString()方法将MySQL中存储的DATETIME转为ISO格式的字符串,再使用replace('T', ' ')方法将T替换为空格,最后使用substring(0, 19)方法截取日期和时间部分并输出。

格式化TIMESTAMP

如果我们想要在MySQL中插入一个TIMESTAMP类型的数据,可以使用以下代码:

const timestamp = new Date();

const sql = 'INSERT INTO orders (order_timestamp) VALUES (?)';

connection.query(sql, [timestamp], (err, result) => {
  if (err) throw err;
  console.log('Insert successful!');
});

这里直接使用new Date()获取当前时间,并使用?占位符传给MySQL。

如果我们想要在Node.JS中获取MySQL中存储的TIMESTAMP数据,可以使用以下代码:

connection.query('SELECT order_timestamp FROM orders WHERE id = 1', (err,result) => {
  if (err) throw err;
  const timestamp = result[0].order_timestamp.toISOString().replace('T', ' ').substring(0, 19);
  console.log(timestamp);
});

这里同样需要先使用toISOString()方法将MySQL中存储的TIMESTAMP转为ISO格式的字符串,再使用replace('T', ' ')方法将T替换为空格,最后使用substring(0, 19)方法截取日期和时间部分并输出。

总结

在Node.JS中使用MySQL日期格式需要注意,不同的日期类型需要用不同的方法进行格式化。在插入和获取日期数据时需要注意使用占位符,并将MySQL中存储的日期转为相应的Node.JS时间格式。希望本文对想要在Node.JS中操作MySQL日期格式的读者有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程