为什么Moment JS设置毫秒

时间:2016-04-27 11:18:54

标签: date momentjs

我正在尝试从字符串创建一个时刻对象,其中包含格式为DD / MM / YYYY的日期。我想把它设置为DD / MM / YYYY 23:30。为此,我将代码编写为

moment.utc('30/04/2016','DD/MM/YYYY').hours(23).minutes(30)

但是,由于某种原因,将毫秒设置为300.即使使用下面的代码,我也无法将毫秒设置为0

moment.utc('30/04/2016','DD/MM/YYYY').hours(23).minutes(30).milliseconds(0)

我只需要约会时间为2016年4月30日23:30:00而不是像2016年4月30日23:30:00:300

请参阅JS Fiddle

为什么毫秒部分设置为300,为什么我无法将其设置为0?

3 个答案:

答案 0 :(得分:0)

使用此

moment.utc('30/04/2016 23:30:00 0','DD/MM/YYYY HH:mm:ss SSS')

http://momentjs.com/docs/#/parsing/string-format/& http://momentjs.com/docs/#/displaying/

答案 1 :(得分:0)

试试这个,

    <body>

<p>Click the button to display date</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var d = new Date();
        var n=moment.utc('30/04/2016','DD/MM/YYYY').hours(23).minutes(30).seconds(0).milliseconds(0).format('DD/MM/YYYY hh:mm:ss.SSS');      
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>

工作小提琴手, http://jsfiddle.net/fhdd8/356/

答案 2 :(得分:0)

默认情况下,您可以根据您的选择设置时间。now()总计为毫秒。

var datetime = moment().set({ hour: 10, minute: 22, second : 19 , millisecond : 999 });
var datetime2 = moment().hour(23).minute(2).second(20);
var time3 = moment('23:11:22.322', "LTS.SSS", true);

datetime.format(LTS.SSS);
datetime2.format(LTS);
datetime.format("hh:mm:ss.SSS")

LTS-本地化格式

时间LT 8:30 PM

以秒为单位的时间LTS 8:30:25 PM

SSS-毫秒* s

要显示,请使用 format()