标签: momentjs

Moment.js一周的第一天不正确

我第一次和Moment.js合作.我试图找回一周中第一天的日期,而在欧洲,这通常是星期一.无论我做什么,我都会在周日的第一天得到周日.

我尝试设置不同的语言(本地或全球),但无济于事.我使用了moment.js github页面中的langs.min.js文件."en-gb"和"fr"的语言文件包含以下代码行:

dow : 1, // Monday is the first day of the week.
Run Code Online (Sandbox Code Playgroud)

所以当我要求一周的第一天正确时,我会得到星期一的日期吗?我一直把周日作为输出.

// Create moment object
var localLang = moment();

// Set language to french
localLang.lang('fr');

// Test language
localLang.lang(); // Output: fr

// Retrieve first day of the week and format it
var dow = localLang.startOf('week').format('dddd DD-MM-YYYY'); // Output: dimanche 14-04-2013
Run Code Online (Sandbox Code Playgroud)

Dimanche是星期日的法语.如你所见,moment.js可以成功使用语言文件但不使用星期几配置

JS调用moment.js和langs.js来测试: JSFiddle

编辑:我可以得到周一而不是周日的日期而day(1)不是startOf('week').但是使用day(0)我仍然得到星期天的结果.为什么不是星期一的第一天,如语言文件中所配置的那样.

momentjs

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

如何在Google Apps脚本中使用momentjs?

我正在尝试在Google Apps脚本中使用momentjs库,但我不清楚如何这样做.我不确定如何添加库,因此显然运行如下所示的结果"参考错误:'时刻'未定义":

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
var difference = a.diff(b);
Run Code Online (Sandbox Code Playgroud)

google-apps-script momentjs

17
推荐指数
6
解决办法
9473
查看次数

如何用moment.js将小时和分钟转换为分钟?

我需要转换小时和分钟的分钟值.使用纯JavaScript Date对象,我执行以下操作:

var d = new Date();
var minutes = d.getHours() * 60 + d.getMinutes();
Run Code Online (Sandbox Code Playgroud)

我刚刚切换到moment.js并寻找更好的解决方案,如下所示:

var minutes = moment(new Date()).toMinutes()
Run Code Online (Sandbox Code Playgroud)

有这样的事吗?

javascript date momentjs

17
推荐指数
3
解决办法
4万
查看次数

new Date(..).getTime()不等于momentJS中的moment(..).valueOf()?

new Date(..).getTime()应该以毫秒为单位返回时间戳.根据momentJS文档,表达式moment(..).valueOf()应该相同(返回给定日期的时间戳,以毫秒为单位).

我查看了以下示例数据:

var timeStampDate = new Date("2015-03-25").getTime(); //timestamp in milliseconds?
> 1427241600000
var timeStampMoment = moment("03-25-2015", "MMDDYYYY").valueOf(); //timestamp in milliseconds?
> 1427238000000
Run Code Online (Sandbox Code Playgroud)

如您所见,结果不一样.

现在我在momentJS中搜索一个函数,它返回给我与表达式完全相同的数据new Date(..).getTime().

javascript momentjs

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

用moment()更新时间偏移量.utcOffset()

我正面临一些试图moment.js用来处理时间偏移的问题.

我在隐藏的输入中收集本地用户时间偏移量:

<script type="text/javascript">
  $(document).ready(function () { 
    $('input#timeoffset').val(moment().utcOffset()); 
  });
</script>
Run Code Online (Sandbox Code Playgroud)

偏移量得到正确存储(在我的情况下,其值为-240).稍后在服务器端(在utc时间运行)我尝试更新一些db存储的utcDate做类似的事情:

var userDate = moment(utcDate).utcOffset(offset)
Run Code Online (Sandbox Code Playgroud)

我的问题如下:如果我按上述方式运行我的代码,我就没有效果:

  • utcDate: 20151001 012421 +0000
  • userDate: 20151001 012421 +0000

如果我翻转偏移标志,我得到:

  • utcDate: 20151001 012421 +0000
  • userDate: 20151001 052421 +0400

我显然做错了(即使我的期望是第一个版本是正确的),你有任何暗示吗?

在客户端,我在服务器端使用moment.js v2.10.6 moment-timezone.js v0.4.0和moment.js v2.10.6

javascript time utc express momentjs

17
推荐指数
1
解决办法
4万
查看次数

Moment.js将日期字符串转换为日期

从我之前的帖子开始:Javascript Safari:带有字符串的新Date()在键入返回无效日期我使用Moment.js将日期字符串转换为基于文本框中用户输入的日期字段.这是为了防止在Chrome浏览器正常时,我在Safari和Firefox的链接帖子中描述的问题无法呈现日期.这是代码片段:

var tempDate = moment(userInputFieldDate).format('DD-MM-YYYY');
alert(tempDate);
Run Code Online (Sandbox Code Playgroud)

在Chrome中,它确实工作正常(它也用于处理Javascript Date对象)但是给了我moment.js弃用警告

弃用警告:时刻构建回落到日期.这是不鼓励的,将在即将发布的主要版本中删除.有关详细信息,请参阅https://github.com/moment/moment/issues/1407.参数:[object Object]错误

在Firefox和Safari上只是在警报窗口中提供了一个未完成的日期.所以不完全确定我应该怎么做才能将日期字符串转换为Date对象.有什么建议 ?

javascript date momentjs

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

moment.js时刻未定义

我刚刚在我的Ember.js应用程序中将表格moment@2.1.0更新为moment@2.7.0,现在当我将moment()输入控制台或将其包含在我的脚本中时,我没有定义错误.

在文档中,我看到"从2.4.0开始,全局导出的时刻对象已被弃用".我认为这是问题,但我不确定如何在ember中设置全局矩,以便我们的代码库中对moment()的所有引用都不会被破坏.

我已经尝试将我们正在执行的行('moment')更新为var moment = require('moment'),但它具有相同的结果.即使我在var moment = ... line之后直接调试一个调试器然后在控制台中输入moment(),我仍然得到那个时刻未定义.

javascript ember.js momentjs

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

如何使用Javascript中的Moment js将ISO 8601解析为日期和时间格式?

我目前正在使用Moment js将ISO 8601字符串解析为日期和时间,但它无法正常工作.我究竟做错了什么?我还会采取任何其他更简单的解决方案.

ISO 8601我想解析:"2011-04-11T10:20:30Z"在字符串中的日期:"2011-04-11"和字符串中的时间:"10:20:30"

并尝试console.log(moment("2011-04-11T10:20:30Z" ,moment.ISO_8601))console.log(moment("2011-04-11T10:20:30Z" , ["YYYY",moment.ISO_8601])作为测试,但它只返回一个具有所有不同类型属性的对象.

javascript parsing iso momentjs reactjs

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

使用moment.js"未定义时刻"

我正在使用moment.js,但是当我测试moment.js库时,我继续收到错误.

var back30Days=moment().subtract(30, 'days').format("dddd, MMMM Do YYYY, h:mm:ss p");
Run Code Online (Sandbox Code Playgroud)

它返回" moment not defined."指的是.format("dddd, MMMM Do YYYY, h:mm:ss p");

我已经阅读了文档,一切看起来都很好,但是当我重新加载页面时,我正在使用的js将无法加载.

任何提示将非常感谢!

javascript time momentjs

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

在Angular Typescript库中使用MomentJS时出错

我正在使用jvandemo/generator-angular2-library作为启动器构建一个Angular(2+)组件库,它使用Rollup作为模块构建器.我在库中创建的组件使用MomentJS.

包含MomentJS后,我遇到了各种构建问题.

我首先用于import moment from 'moment';将时刻导入组件,但是在构建时会产生以下错误;

[17:26:28] Starting 'ngc'...
Error at /Users/chris/angular-library/.tmp/components/my-library/my-component.component.ts:6:8: Module '"/Users/chris/my-library/node_modules/moment/moment"' has no default export.
Run Code Online (Sandbox Code Playgroud)

我发现这个问题据说可以使用import * as moment from 'moment';我得到的;

'moment' is imported by build/components/my-component.component.js, but could not be resolved – treating it as an external dependency

events.js:182
      throw er; // Unhandled 'error' event
      ^
Error: Cannot call a namespace ('moment')
    at error (/Users/chris/angular-library/node_modules/rollup/dist/rollup.js:185:14)
Run Code Online (Sandbox Code Playgroud)

据我所知,这是唯一的两个选项,我无法工作,我错过了什么?

编辑

我已将此问题添加到库的Github存储库中,其中包含简化复制步骤

momentjs typescript angular

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