在JavaScript日期中包含毫秒数据

在JavaScript日期中包含毫秒数据,javascript,jquery,html,date,Javascript,Jquery,Html,Date,我需要在搜索时将当前系统日期发送给microservices。时间还应包括毫秒信息。目前,我正在为相同的项目发送newdate(),它看起来像: Thu Aug 31 2017 15:06:37 GMT+0530 (India Standard Time) 但是,我还需要毫秒信息,因此时间应该如下所示: Thu Aug 31 2017 15:06:37.228 GMT+0530 (India Standard Time) 这里228是当时的毫秒,我可以使用date的getmillizes()

我需要在搜索时将当前系统日期发送给microservices。时间还应包括毫秒信息。目前,我正在为相同的项目发送
newdate()
,它看起来像:

Thu Aug 31 2017 15:06:37 GMT+0530 (India Standard Time)
但是,我还需要毫秒信息,因此时间应该如下所示:

Thu Aug 31 2017 15:06:37.228 GMT+0530 (India Standard Time)

这里228是当时的毫秒,我可以使用
date
getmillizes()
方法提取。问题是如何在日期中添加此项,使其适用于访问应用程序的所有位置?

如果您不介意将结果作为字符串,这将显示您正在查找的输出:

//ES5
var fmtDateMsES5=功能(日期){
var splitDate=date.toString().split(“”);
splitDate[4]=splitDate[4]+'.+date.getmillizes();
返回拆分日期。加入(“”);
}
//日志输出(ES5)
log('ES5输出\n',fmtDateMsES5(新日期());
//ES6
const fmtDateMsES6=日期=>{
const splitDate=date.toString().split(“”);
splitDate[4]=`${splitDate[4]}.${date.getMillimess()}`;
返回拆分日期。加入(“”);
};
//日志输出(ES6)
console.log('ES6 output\n',fmtDateMsES6(new Date());
//同时记录ES5和ES6功能
console.log(
`\同时记录nES5和ES6功能`,
`\n${'-'.重复(55)}`,
`\nES5输出${fmtDateMsES5(新日期())}`,
`\nES6输出${fmtDateMsES6(新日期())}`

);如果您不介意将结果作为字符串,这将显示您要查找的输出:

//ES5
var fmtDateMsES5=功能(日期){
var splitDate=date.toString().split(“”);
splitDate[4]=splitDate[4]+'.+date.getmillizes();
返回拆分日期。加入(“”);
}
//日志输出(ES5)
log('ES5输出\n',fmtDateMsES5(新日期());
//ES6
const fmtDateMsES6=日期=>{
const splitDate=date.toString().split(“”);
splitDate[4]=`${splitDate[4]}.${date.getMillimess()}`;
返回拆分日期。加入(“”);
};
//日志输出(ES6)
console.log('ES6 output\n',fmtDateMsES6(new Date());
//同时记录ES5和ES6功能
console.log(
`\同时记录nES5和ES6功能`,
`\n${'-'.重复(55)}`,
`\nES5输出${fmtDateMsES5(新日期())}`,
`\nES6输出${fmtDateMsES6(新日期())}`

);最初我在Date对象上看到了format方法,但这不是内置的,需要一个库

如果必须使用时间库,我建议使用优秀的,并使用“”语法获取毫秒,例如:

var now = moment().format('MMM DD h:mm.SSS A');
//Sep 12 8:21.167 AM

最初我在Date对象上看到了format方法,但这不是内置的,需要一个库

如果必须使用时间库,我建议使用优秀的,并使用“”语法获取毫秒,例如:

var now = moment().format('MMM DD h:mm.SSS A');
//Sep 12 8:21.167 AM


您看到的只是
Date
对象的许多可能的字符串解释之一。我建议使用toISOString()进行数据传输您也可以从历元和时区信息发送毫秒,这在任何后端平台上都很容易解析。@Phil如果我使用toISOString()日期看起来像2017-09-12T04:37:09.794Z,我的微服务将如何将Z转换为时区?@pate你能分享示例代码吗?@Manu你真的需要用户的时区吗?如果是,您可以通过单独发送偏移。时区/偏移量实际上仅在显示日期/时间实例时才需要。您只是看到
date
对象的许多可能的字符串解释之一。我建议使用toISOString()进行数据传输您也可以从历元和时区信息发送毫秒,这在任何后端平台上都很容易解析。@Phil如果我使用toISOString()日期看起来像2017-09-12T04:37:09.794Z,我的微服务将如何将Z转换为时区?@pate你能分享示例代码吗?@Manu你真的需要用户的时区吗?如果是,您可以通过单独发送偏移。时区/偏移量实际上仅在显示日期/时间实例时才需要。非常接近预期结果。我尝试了你的代码,得到了2017年9月12日星期二10:47:12.421 GMT+0530(印度标准时间)。问题是,每个空间都被用作分隔符,因此时区被分解。Join不起作用。。它没有用空格连接。我的错,连接的结果是一个字符串,所以我把它分配给其他变量或返回它。没问题。为了清晰起见,我将代码放在一个片段中。嘿,为什么ES5和ES6中的时间不完全相同?差0.001毫秒。你注意到了吗?这是因为他们在运行时输出时间。这些功能是单独执行的,而不是同时执行的。因此,它们中的每一个都在运行时记录
newdate()
。我们也可以同时在同一
控制台中记录它们。log
语句。非常感谢,它非常接近预期结果。我尝试了你的代码,得到了2017年9月12日星期二10:47:12.421 GMT+0530(印度标准时间)。问题是,每个空间都被用作分隔符,因此时区被分解。Join不起作用。。它没有用空格连接。我的错,连接的结果是一个字符串,所以我把它分配给其他变量或返回它。没问题。为了清晰起见,我将代码放在一个片段中。嘿,为什么ES5和ES6中的时间不完全相同?差0.001毫秒。你注意到了吗?这是因为他们在运行时输出时间。这些功能是单独执行的,而不是同时执行的。因此,它们中的每一个都在运行时记录
newdate()
。我们也可以同时在同一
控制台.log
语句中记录它们。