我正在通过MongoDB应用程序将数据保存在Node.js服务器中(使用Mongoose)。

考虑以下代码:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var schemaObj = new Schema({
    field1: String,
    field2: String,
    Datefield: Date//So on...
});

mongooseDB = mongoose.createConnection('mongodb://myserver:port/DBname');
mongooseDB.on('error', console.error.bind(console, 'error in connection'));

mongooseDB.once('open', function (err) {
        var objmodel = db.model('myschema', schemaObj);
        modelObj.field1 ='value1';
        modelObj.Datefield = new Date().toGMTString(); //new Date().toUTCString();
        //So on..
        modelObj.save(function (err) {
            if (err)
                 //Notify err
            else
                //DO some task after save
        });

    });

在日期字段中,当我使用“toGMTstring()”或“toUTCstring()”时获取以下值
 'Thu, 24 Jan 2013 05:49:04 GMT'

我浏览了以下链接:
  • toUTCstring()
  • toGMTstring()

  • to GMTString已弃用,不应再使用

    谁能帮我理解,关于Node.js,toUTCstring()和toGMTstring()之间有什么区别?

    最佳答案

    GMT和UTC是不同的时区,分别是Greenwich Mean TimeCoordinated Universal时间。 GMT是“太阳”时区,而UTC是“原子”时区。在大多数情况下,它们本质上是同一件事,但是UTC更具“通用性”。

    有趣的是,您指向toUTCString的文档仍然显示GMT输出:

    var today = new Date();
    var UTCstring = today.toUTCString();
    // Mon, 03 Jul 2006 21:44:38 GMT
    

    为了在应用程序之间交换数据,我更喜欢使用ISO8601之类的东西,它对UTC使用'Z'后缀:
    2013-01-16T08:19Z
    

    “Z”令人困惑地代表“祖鲁时间”!

    07-24 09:20