标签: momentjs

UTC日期之间的Moment.js差异

我正在使用moments.js来处理javascript中的日期.所有日期均为UTC(或应为).

我有以下日期(距当前时间60分钟):

//Wed, 04 Apr 2012 21:09:16 GMT
to   = moment.utc().add('m', 60).toDate();
Run Code Online (Sandbox Code Playgroud)

现在我想得到这个日期和当前UTC日期时间之间的差异,所以我这样做:

seconds = moment.utc().diff(to, 'seconds');
Run Code Online (Sandbox Code Playgroud)

这将返回10800而不是36003小时而不是1小时.

我有什么想法我做错了吗?

谢谢!

编辑:

我更新了线路seconds = moment().diff(to, 'seconds');,它获得了当前的秒数,但它-3600不是正面的.

编辑:

我现在有这两个时刻的对象:

{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }
Run Code Online (Sandbox Code Playgroud)

d1和d2.

当我这样做时d1.diff(d2, 'hours', true);返回4.我认为这绝对与UTC有关,但似乎这应该有效.

javascript date node.js momentjs

16
推荐指数
2
解决办法
2万
查看次数

Moment.js和Unix Epoch转换

我有一个Web服务,它返回一个日期作为以下字符串:

/Date(1377907200000)/

我使用MomentJS将其解析为一个moment对象.

moment("/Date(1377907200000)/") => Fri Aug 30 2013 20:00:00 GMT-0400

所有这一切都很好.但是当我打电话unix()给对象时,我得到了价值1377907200.然而,这对应于Fri Jan 16 1970 17:45:07 GMT-0500.我可以将返回的值乘以,unix()但这对我来说似乎很草率.我怀疑我通过电话做的事情unix()并不完全是我认为的.调用时是否需要指定某种格式unix()?我在这里错过了什么?

JSFidle显示转换为时刻然后返回.

javascript date epoch momentjs

16
推荐指数
2
解决办法
3万
查看次数

momentJS获取UTC时间戳

伙计们,我无法使用momentjs获取UTC时间戳.希望有人能指出我正确的方向

var start = Date.now();
var utc = moment.utc(start).toDate();
Run Code Online (Sandbox Code Playgroud)

要么

var utc = moment.utc().toDate();
Tue Nov 11 2014 13:45:13 GMT-0500 (EST)
Run Code Online (Sandbox Code Playgroud)

返回我所在的EST时区,而不是UTC.我如何获得UTC的Javascript日期?

如果我做

var utc= moment.utc();
console.log(utc);
Run Code Online (Sandbox Code Playgroud)

输出是

 { _useUTC: true,
  _isUTC: true,
  _l: undefined,
  _i: undefined,
  _f: undefined,
  _d: Tue Nov 11 2014 13:43:21 GMT-0500 (EST) }
Run Code Online (Sandbox Code Playgroud)

谢谢

node.js momentjs

16
推荐指数
2
解决办法
3万
查看次数

我如何使用momentjs找到最后一个星期一?

我需要使用一些逻辑,要求周开始于星期一(而不是星期日).

我可以使用一周的功能开始:

moment().tz('America/Los_Angeles').startOf('week').add(1, 'day')

但是如果是星期天,我需要使用上周的日期并添加1以获得星期一.

无论日期是什么,我希望有一个更容易获得"最后一个星期一".

javascript date momentjs

16
推荐指数
2
解决办法
1万
查看次数

如何将时刻日期转换为字符串并删除时刻对象

我有一个React Web App和一个React Native Mobile App.当我从我的反应web应用程序传递一个时刻日期对象到我的后端时,它会以某种方式转换为字符串,并且它与我的后端一起工作.

当我使用我的本机移动应用程序执行此操作时,它将日期作为片刻对象传递,并且它不会转换为字符串,但它不起作用.

有没有办法将moment对象转换为普通的字符串

"Tue May 05 2015 23:59:59 GMT+0800 (HKT)"
Run Code Online (Sandbox Code Playgroud)

我尝试了toString()和toUTCString(),但它不起作用.谢谢.

javascript momentjs reactjs react-native

16
推荐指数
2
解决办法
3万
查看次数

moment.js验证无效日期"2013-10-311"

运行moment.js,2.2.1

moment("2010-10-319", ["YYYY-MM-DD"]).isValid()
Run Code Online (Sandbox Code Playgroud)

...返回true,并将moment对象设置为2010年10月31日.解析器似乎剥离了任何类型的无关字符:

moment("2010-10-31a", ["YYYY-MM-DD"]).isValid(); // true
Run Code Online (Sandbox Code Playgroud)

Curiouser,如果你添加额外的格式选择,那么"剥离"仅限于一个角色!(格式字符串测试不应该是ORed吗?)

moment("2010-10-319", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); // true
moment("2010-10-3199", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); // false (!!!)
Run Code Online (Sandbox Code Playgroud)

这种行为是设计的吗?我不明白为什么.

编辑:评论者发现另一个案例,其中超出一个的额外字符确实被剥离:

moment("2010-10-319qr", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); // true (!)
Run Code Online (Sandbox Code Playgroud)

这是在行动:http://jsfiddle.net/grahampcharles/r42jg/6/(更新新案例)

javascript date momentjs

15
推荐指数
2
解决办法
1万
查看次数

使用angularJS设置HTML5日期输入字段的默认值

我希望将我生成的默认值绑定到日期和时间输入字段.我尝试了ng-model并将其直接绑定到value属性.但它似乎都没有用.有没有办法让它发挥作用?

编辑:另外,如何绑定时间输入字段?

<body ng-app="myApp">
<div ng-controller="MyCtrl">
    <input type="date" ng-model="date" value="{{date}}">
        <p>{{date}}</p>
    <input type="time" ng-model="time" value="{{time}}">    
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴:http://jsfiddle.net/chrisyeung/bF9Pq/

javascript angularjs momentjs

15
推荐指数
2
解决办法
5万
查看次数

如何从momentjs获取日期的名称

我正在使用momentjs并希望输出当天的名称即."星期三",但API似乎只提供了一个数字.

有没有办法在不将其硬编码到特定语言的情况下执行此操作?

javascript momentjs

15
推荐指数
1
解决办法
2万
查看次数

Angular Moment:Moment Timezone没有America/New_York的数据

从服务器收到的日期是在UTC时区,我需要将其转换为特定的时区,例如:America/New_York.Florlowing是相同的代码

  <span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span>
Run Code Online (Sandbox Code Playgroud)

但是这样做我得到以下错误:

Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.
Run Code Online (Sandbox Code Playgroud)

但这America/New_York是一个已知的时区,moment但仍然要求我添加时区.

javascript timezone angularjs momentjs angular-moment

15
推荐指数
1
解决办法
2万
查看次数

找不到模块'@ angular/material-moment-adapter'

为什么这不起作用?我尝试导入角度网站上显示的MomentDateAdapter,但Visual Studio Code一直抱怨它无法找到@ angular/material-moment-adapter.我究竟做错了什么?

版本信息:Angular CLI:1.5.0节点:6.11.0操作系统:darwin x64 Angular:4.4.6 ...动画,通用,编译器,编译器 - cli,核心,表单... http,语言服务,平台 - 浏览器...平台 - 浏览器动态,路由器,tsc包裹

@ angular/cdk:2.0.0-beta.12 @ angular/cli:1.5.0 @ angular/material:2.0.0-beta.12 @ angular-devkit/build-optimizer:0.0.32 @ angular-devkit/core :0.0.20 @ angular-devkit/schematics:0.0.35 @ ngtools/json-schema:1.1.0 @ ngtools/webpack:1.8.0 @ schematics/angular:0.1.1 typescript:2.3.4 webpack:3.8.1

momentjs angular-material2 angular

15
推荐指数
5
解决办法
2万
查看次数