Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点Js中从字符串转换为日期时间_Javascript_Node.js_Datetime - Fatal编程技术网

Javascript 在节点Js中从字符串转换为日期时间

Javascript 在节点Js中从字符串转换为日期时间,javascript,node.js,datetime,Javascript,Node.js,Datetime,我有一个名为workFrom的变量,它在前端将时间(hh:mm)作为字符串(Angular JS)。在将数据发布到MongoDB之前,我想将其转换为日期格式,默认日期为1970年1月1日,从workFrom发布的时间为。我该怎么做 例如:workFrom:11:40应转换为01/01/1970 11:40(根据MongoDB中使用的标准日期格式) 提前感谢vanila JS中的解决方案 var输入='11:40'; var parts=input.split(“:”); var分钟数=零件[0

我有一个名为workFrom的变量,它在前端将时间(hh:mm)作为字符串(Angular JS)。在将数据发布到MongoDB之前,我想将其转换为日期格式,默认日期为1970年1月1日,从workFrom发布的时间为。我该怎么做

例如:workFrom:11:40应转换为01/01/1970 11:40(根据MongoDB中使用的标准日期格式)

提前感谢vanila JS中的解决方案

var输入='11:40';
var parts=input.split(“:”);
var分钟数=零件[0]*60+零件[1];
var inputDate=新日期(分钟*60*1000);
控制台日志(输入日期)
你可以这样做:

 date="01/01/1970";
 workFrom="11:40";
 d = new Date(date +" "+workFrom);

一种简单的方法如下所示:

workFrom = "11:40";
time = new Date("01/01/1970" + " " + workFrom);
console.log(time.getDate() +'/'+ time.getMonth() +'/'+ ime.getFullYear()+ ' '+ time.getHours() + ':' + time.getMinutes());
使用矩(每当您处理与日期/时间相关的问题时,我建议您使用矩):


这段代码反过来将生成“1/1/1970 11:40”的输出。

您可以使用包来解析和验证日期。我是Node JS的新手,所以您可以更详细地说明如何转换@Abhishekkannojiao而不需要库:
'11:40'。拆分(':')。减少((h,m)=>新日期(h*3.6e6+m*6e4)。toISOString()
。我认为您需要
部分[0]*60++部分[1]
,但除此之外,很好。第一个操作数
部分[0]*60
是数字,然后第二个操作数
部分[1]
将转换为数字否,不会。当
parts[1]*60
返回一个数字时,
parts[0]
是一个字符串,因此它将被连接,而不是添加。你把指数倒过来,你想要
部分[0]*60
,等等。这两个错误意味着分钟的值是
“240011”
,而不是
700
,结果是
“1970-06-16T16:11:00.000Z”
而不是
“1970-01-01T11:40:00Z”
;-)强烈建议使用日期构造函数(或Date.parse,它们对于解析是等效的)解析字符串。
workFrom = "11:40";
time = new Date("01/01/1970" + " " + workFrom);
console.log(time.getDate() +'/'+ time.getMonth() +'/'+ ime.getFullYear()+ ' '+ time.getHours() + ':' + time.getMinutes());
let workFrom = "11:40";
let workFromMoment = moment(workFrom,'hh:mm')  
let adjustedMoment = moment([1970,0,1]).hour(workFromMoment.hour()).minute(workFromMoment.minute())
let dateString = adjustedMoment.format('D/M/Y hh:mm')`
console.log(dateString);