test-datetime.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. var common = require('../../common');
  2. var connection = common.createConnection();
  3. var connection1 = common.createConnection({ dateStrings: true });
  4. var assert = require('assert');
  5. var rows, rows1, rows2, rows3, rows4, rows5;
  6. var date = new Date('1990-01-01 08:15:11 UTC');
  7. var date1 = new Date('2000-03-03 08:15:11 UTC');
  8. var date2 = '2010-12-10 14:12:09.019473';
  9. connection.query('CREATE TEMPORARY TABLE t (d1 DATE)');
  10. connection.query('INSERT INTO t set d1=?', [date]);
  11. connection1.query('CREATE TEMPORARY TABLE t (d1 DATE, d2 TIMESTAMP, d3 DATETIME)');
  12. connection1.query('INSERT INTO t set d1=?, d2=?, d3=?', [date, date1, date2]);
  13. var dateAsStringExpected = [
  14. { d1: '1990-01-01',
  15. d2: '2000-03-03 08:15:11',
  16. d3: '2010-12-10 14:12:09' } ];
  17. connection.execute('select from_unixtime(?) t', [(+date).valueOf()/1000], function(err, _rows, _fields) {
  18. if (err) throw err;
  19. rows = _rows;
  20. });
  21. connection.query('select from_unixtime(631152000) t', function(err, _rows, _fields) {
  22. if (err) throw err;
  23. rows1 = _rows;
  24. });
  25. connection.query('select * from t', function(err, _rows, _fields) {
  26. if (err) throw err;
  27. rows2 = _rows;
  28. });
  29. connection.execute('select * from t', function(err, _rows, _fields) {
  30. if (err) throw err;
  31. rows3 = _rows;
  32. connection.end();
  33. });
  34. connection1.query('select * from t', function(err, _rows, _fields) {
  35. console.log(_rows);
  36. if (err) throw err;
  37. rows4 = _rows;
  38. });
  39. connection1.execute('select * from t', function(err, _rows, _fields) {
  40. console.log(_rows);
  41. if (err) throw err;
  42. rows5 = _rows;
  43. connection1.end();
  44. });
  45. process.on('exit', function() {
  46. assert.equal(rows[0].t.constructor, Date);
  47. assert.equal(rows[0].t.getDate(), date.getDate());
  48. assert.equal(rows[0].t.getHours(), date.getHours());
  49. assert.equal(rows[0].t.getMinutes(), date.getMinutes());
  50. assert.equal(rows[0].t.getSeconds(), date.getSeconds());
  51. assert.equal(rows1[0].t.constructor, Date);
  52. assert.equal(rows1[0].t - new Date('Mon Jan 01 1990 11:00:00 GMT+1100 (EST)'), 0);
  53. assert.equal(rows2[0].d1.getDate(), date.getDate());
  54. assert.equal(rows3[0].d1.getDate(), date.getDate());
  55. assert.deepEqual(rows4, dateAsStringExpected);
  56. assert.deepEqual(rows5, dateAsStringExpected);
  57. });