node.JS中的日期格式

时间:2012-06-25 10:54:20

标签: mysql node.js

我正在使用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>';

6 个答案:

答案 0 :(得分:26)

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

你需要'强制'你的mysql连接立即格式化它,把它添加到你的配置中(连接细节):

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

答案 1 :(得分:14)

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

&#13;
&#13;
  host: 'localhost',
  user: 'root',
  password: '',
  dateStrings:true,
  database: "mydb"
&#13;
&#13;
&#13;

答案 2 :(得分:8)

我通过要求名为日期格式的库或模块来实现这一点。 首先,我们必须使用

安装日期格式包
  

npm install dateformat

然后你可以在你的编码中要求它。 那么你可以创建检索数据的对象

  

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

并打印出来。

答案 3 :(得分:2)

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

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

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

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

答案 4 :(得分:0)

这是solution

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

OR

const DATE_FORMATER = require( 'dateformat' );
var datetme = DATE_FORMATER( new Date(), "yyyy-mm-dd HH:MM:ss" );

答案 5 :(得分:0)

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

为了实现这一点,我们需要添加 dateformat 包

npm install dateformat

然后我们使用

const dateFormat = require ('dateformat');

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

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