如何在日期字符串上指定utc或local

时间:2017-02-17 18:03:22

标签: angularjs momentjs

给定一个ui控件,当你选择01/01/2017它返回一个Javascript日期为"Sun Jan 01 2017 05:00:00 GMT+0000"(注意,一个实际的Javascript Date对象)所以它不是一个字符串...

但是,我绝对需要日期部分(01/01/2017)和"作为UTC"

C#有一个DateTime.SpecifyKind(datetimevalue, DateTimeKind kind)方法

基本上与转换它

相当

moment(vm.theDate).specifyKind(utc)

希望获得01/01 / 2017的片刻实例,isUtc = true,来自该类型的Javascript Date UI控件。 (它是Angular ui-datepicker控件)

1 个答案:

答案 0 :(得分:0)

您应该在UI控件的文档中查找将所选值检索为字符串而不是日期对象的方法。日期对象将受到本地时区的影响,这将摧毁您的结果 - 尤其是在DST过渡期间。许多好的datepicker控件都会将其作为单独的属性提供(例如theControl.valuetheControl.text而不是theControl.date)。在不知道您正在使用的具体控件的情况下,我无法提供更具体的控件。

获得字符串后,请使用moment.utc(yourInputString, yourInputFormat)