21

我正在使用 mysql 数据库,因为我有一个按名称命名的字段request_date。该字段的类型为时间戳,该字段中存储的数据格式为2012-05-16 14:59:18。但是当我通过 Node.JS 检索相同的数据时,数据在浏览器中显示为

Fri Jun 08 2012 15:16:50 GMT+0530 (India Standard Time)

为什么会发生这种格式变化?

我写了这个查询:

SELECT
biz_registration.reqid,biz_registration.request_date,biz_registration.req_status,biz_registration.annual_cost,biz_registration.rid,biz_contact.first_name,biz_contact.last_name
FROM biz_registration
INNER JOIN biz_contact ON biz_registration.reqid=biz_contact.reqid
ORDER BY biz_registration.request_date
DESC limit '+start+','+mlimit+''

我使用的 html 代码是,

options +='<div class="column" style="background-color: #E1E1E1;width:         100px;">'+result.reqid+'</div>';
options +='<div class="column" style="background-color: #E1E1E1;width: 160px;">'+result.request_date+'</div>';
4

6 回答 6

32

我遇到了同样的问题,这解决了我的问题:

您需要“强制”您的 mysql 连接以立即对其进行格式化,将其添加到您的配置(连接详细信息)中:

host: 'localhost',
user: 'root'
// ....
dateStrings: 'date'

请注意,在许多情况下

dateStrings: true

而不是'date'

似乎是需要的解决方案。

于 2015-04-05T13:29:19.950 回答
20

这个配置解决了我的问题,根据 node-mysql doc

  host: 'localhost',
  user: 'root',
  password: '',
  dateStrings:true,
  database: "mydb"

于 2016-03-01T11:21:21.507 回答
8

我通过要求称为日期格式的库或模块来完成这项工作。首先我们必须使用安装日期格式包

npm 安装日期格式

然后你可以在你的编码中要求它。然后您可以将检索到的数据的对象创建为

var day=dateFormat(result.request_date, "yyyy-mm-dd h:MM:ss");

并打印出来。

于 2012-06-26T05:54:50.217 回答
4

这是解决方案

var datetme = new Date().toLocaleString();

或者

const DATE_FORMATER = require( 'dateformat' );
var datetme = DATE_FORMATER( new Date(), "yyyy-mm-dd HH:MM:ss" );
于 2019-07-12T19:17:11.793 回答
2

您所看到的只是默认的 javascript 日期格式。如果您希望它的格式不同,您可以使用以下方法:

getDate(): Returns the date
getMonth(): Returns the month
getFullYear(): Returns the year

在日期对象上,并将结果与​​ / 或 - 或 : 组合以获得您想要的格式。

看看:http ://www.elated.com/articles/working-with-dates/了解更多详情

于 2013-09-02T10:22:05.207 回答
0

有时,您无法yyyy-mm-dd h:MM:ss仅使用new Date().toLocaleStringor来使用(数据库格式)格式化您的日期new Date().toISOString()

为此,我们需要添加 dateformat 包

npm install dateformat

然后我们使用

const dateFormat = require ('dateformat');

所以要分配一个日期,你可以使用 dateFormat

var created_at = dateFormat(new Date(), 'yyyy-mm-dd h:MM:ss');

于 2021-04-14T06:32:53.993 回答