Javascript JS-使用矩将两位数的值更改为毫秒

Javascript JS-使用矩将两位数的值更改为毫秒,javascript,momentjs,Javascript,Momentjs,目前,我有一个输入字段,允许您通过输入两位数字来选择一个小时。例如,你可以选择12个小时 有没有一种方法可以使用MomentJS将该数字转换为毫秒 目前我不得不做下面的数学题。我现在看不出这是可行的 var timeHH = scope.session.timeHH * 3600; 这算出秒数,然后我将它乘以1000,得到毫秒值 有没有一种方法可以使用矩将这个数字转换为使用矩的最小毫秒 可能有,但绝对没有理由使用MomentJS来实现这一点,这样做将是迂回和低效的。这很简单:hours*360

目前,我有一个输入字段,允许您通过输入两位数字来选择一个小时。例如,你可以选择12个小时

有没有一种方法可以使用MomentJS将该数字转换为毫秒

目前我不得不做下面的数学题。我现在看不出这是可行的

var timeHH = scope.session.timeHH * 3600;
这算出秒数,然后我将它乘以1000,得到毫秒值

有没有一种方法可以使用矩将这个数字转换为使用矩的最小毫秒

可能有,但绝对没有理由使用MomentJS来实现这一点,这样做将是迂回和低效的。这很简单:
hours*3600000
是毫秒。没有奇怪的特殊情况需要处理,等等,除非你正在处理转换一段特定的实时时间(比如,从2005年12月31日格林威治标准时间晚上8点开始的10个小时),并且想要处理闰秒插入(那天晚上午夜有一个),但MomentJS无论如何都不会这样做

有没有一种方法可以使用矩将这个数字转换为使用矩的最小毫秒


可能有,但绝对没有理由使用MomentJS来实现这一点,这样做将是迂回和低效的。这很简单:
hours*3600000
是毫秒。没有什么奇怪的特殊情况需要处理,等等,除非你正在处理转换一段特定的实时时间(比如,从2005年12月31日格林威治标准时间晚上8点开始的10个小时),并且想要处理闰秒插入(那天晚上午夜有一个),但MomentJS无论如何都不会这样做。

你可以尝试以下方法(假设24小时格式为小时):


您可以尝试以下破解(假设24小时格式为小时):


对于这个特定的用例,正确的做法是手动计算。为了完整起见,如果您需要使用矩进行更复杂的计算,您可以使用持续时间类型。持续时间类型将允许您从一个单位值转换为另一个单位值,如果您必须进行多个单位转换,则可以使用持续时间类型这将是一个不错的选择,而不仅仅是这一个

moment.duration(12, 'hours').asMilliseconds()
43200000
除转换为毫秒外,您还可以转换为任何其他单位:

var dur = moment.duration(12, 'hours');
dur.asMilliseconds();
43200000
dur.asDays();
0.5
dur.asYears();
0.001368953503494254
除了as函数外,您还可以获得持续时间的各个部分:

var dur = moment.duration(12.5, 'hours'); 
dur.hours();
12
dur.minutes();
30
dur.seconds();
0
或者调用humanize以获取人类可读的字符串,该字符串是持续时间长度的估计值:

var dur = moment.duration(42, 'hours'); 
dur.humanize();
"2 days"

您还可以对持续时间进行数学计算。有关更多信息,请参阅文档:

对于此特定用例,正确的做法是手动计算。为了完整性,如果您需要对矩进行更复杂的计算,您可以使用持续时间类型。持续时间类型允许您转换fr从一个单位值转换到另一个单位值,如果你必须进行几个单位转换,而不仅仅是这一个,这将是一个很好的选择

moment.duration(12, 'hours').asMilliseconds()
43200000
除转换为毫秒外,您还可以转换为任何其他单位:

var dur = moment.duration(12, 'hours');
dur.asMilliseconds();
43200000
dur.asDays();
0.5
dur.asYears();
0.001368953503494254
除了as函数外,您还可以获得持续时间的各个部分:

var dur = moment.duration(12.5, 'hours'); 
dur.hours();
12
dur.minutes();
30
dur.seconds();
0
或者调用humanize以获取人类可读的字符串,该字符串是持续时间长度的估计值:

var dur = moment.duration(42, 'hours'); 
dur.humanize();
"2 days"

你也可以计算持续时间。有关更多信息,请参阅文档:

我听说过毫秒、微秒、纳秒甚至飞秒,但我从来没有听说过微秒。“迷你”不是标准值之一。“这计算出秒数,我稍后将其乘以1000,得到迷你秒值”那是一毫秒。谢谢你的讽刺评论T.J Crowder.英语不是我的母语…那不是讽刺。我听说过毫秒、微秒、纳秒甚至飞秒,但我从来没有听说过微秒。“微秒”不是标准之一。“我后来计算出的秒数乘以1000表示微秒值”那是一毫秒。感谢T.J.克劳德的讽刺评论。英语不是我的母语…那不是讽刺。我想T.J.已经很到位了。如果你仍然考虑使用moment,这个黑客会奏效。我想T.J.已经很到位了。如果你仍然考虑使用moment,这个黑客会奏效。