标签: momentjs

使用 moment() 到“DD:HH:mm:ss”的秒数

我正在尝试将秒转换为DD:HH:mm:ss格式或其他格式,例如 ( YYYYMMDD)

function secToFormat(seconds, format){
  return moment.utc(seconds * 1000).format(format);
}

// works well.
console.log(secToFormat(40,"HH:mm:ss"));
console.log(secToFormat(100,"HH:mm:ss"));
console.log(secToFormat(1800,"HH:mm:ss"));
console.log(secToFormat(18800,"HH:mm:ss"));
console.log(secToFormat(86300,"HH:mm:ss"));

// doesn't work I expected.
console.log(secToFormat(40,"DD:HH:mm:ss"));  //it returns 01:00:00:40 but I expect 00:00:00:40
console.log(secToFormat(100,"DD:HH:mm:ss"));  //it returns 01:00:01:40 but I expect 00:00:01:40
console.log(secToFormat(86300,"DD:HH:mm:ss"));  //it returns 01:23:58:20 but I expect 00:23:58:20
console.log(secToFormat(86400*2,"DD:HH:mm:ss"));  //it returns 03:00:00:00 but I expect 02:00:00:00

// it also doesn't work with another format.
console.log(secToFormat(40, "MM:DD:HH:mm:ss")); // I want to get 00:00:00:00:40
console.log(secToFormat(100, "MM:DD:HH:mm:ss")); // I want …
Run Code Online (Sandbox Code Playgroud)

javascript date momentjs

1
推荐指数
1
解决办法
2872
查看次数

Luxon 不格式化 (DD'MM yyyy) 格式

根据其文档,moment.js已弃用,因此我在 React 项目中使用了Luxon 。我需要将日期格式化为DD'MM yyyy,Luxon 不接受这种格式,而 MomentJs 成功做到了。如果你们在 Luxon 找到任何方法来处理这个问题,请回答:

MomentJS

moment('06/24/2020').format('DD\'MM yyyy')  // output is = 24'06 2020
Run Code Online (Sandbox Code Playgroud)

勒克森

console.warn(DateTime.fromJSDate(new Date("06/24/2020")).toFormat('dd\'MM yyyy')); // output is = 24MM yyyy
Run Code Online (Sandbox Code Playgroud)

javascript momentjs luxon

1
推荐指数
1
解决办法
9597
查看次数

减少数组数组,将数据按日期连接到周数据并对值求和

所以我有一组特殊的数据:

data: [
  ['2022-01-17T16:29:24', 30], // these below would aggregate to 210
  ['2022-01-17T17:37:24', 30],
  ['2022-01-17T17:41:40', 30],
  ['2022-01-17T17:41:48', 30],
  ['2022-01-21T12:50:18', 30],
  ['2022-01-21T12:50:18', 30],
  ['2022-01-21T12:50:29', 30],        
  ['2022-01-12T12:50:18', 30], // these below would aggregate to 90
  ['2022-01-12T12:50:18', 30],
  ['2022-01-12T12:50:29', 30]
]
Run Code Online (Sandbox Code Playgroud)

我需要将其减少为周数据集。我会将日期转换为一周的开始以获取周数据moment(day).startOf('isoWeek'),然后将相似日期的数据连接起来并将其减少为单个条目。

最终结果如下:

data: [
  ['2022-01-17T00:00:00', 210],
  ['2022-01-10T00:00:00', 90]
]
Run Code Online (Sandbox Code Playgroud)

但我正在寻找如何使用的建议.reduce()或任何其他更现代的解决方案,这些解决方案将在大型设备上发挥作用。现在我为此嵌套了 for 循环(除了看起来很糟糕之外)可能性能很差,因为它在同一个数组上迭代多次。一项要求是moment应该用于日期操作,请尽量避免使用Dateobj。

现在我有这样的事情:

data: [
  ['2022-01-17T16:29:24', 30], // these below would aggregate to 210
  ['2022-01-17T17:37:24', 30],
  ['2022-01-17T17:41:40', 30],
  ['2022-01-17T17:41:48', 30],
  ['2022-01-21T12:50:18', 30],
  ['2022-01-21T12:50:18', 30], …
Run Code Online (Sandbox Code Playgroud)

javascript momentjs

1
推荐指数
1
解决办法
934
查看次数

UTC时间戳的瞬间

假设我有以下代码:

var date = moment();
var timestamp = date.unix();
var utc_timestamp = moment.utc().unix();
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果你打电话给utc().所有函数都以utc模式返回值.

那么在这种情况下似乎并非如此.

date = {_isAMomentObject: true, _isUTC: false, _locale: r, _d: Thu Mar 24 2016 14:51:35 GMT-0700 (PDT)}
timestamp = 1458856295
utc_timestmap = 1458856295
Run Code Online (Sandbox Code Playgroud)

然而.如果我使用

moment().utc(date.toDate().toUTCString())l
Run Code Online (Sandbox Code Playgroud)

该值似乎是UTC.但它使用"当前又名NOW值"作为utc值和时刻值.

问题是,我如何获得现有时刻的utc时间戳?

我查看了建议的问题,并搜索了但我似乎无法找到正确的解决方案.

编辑//

我有服务器端代码在Golang中生成时间戳.然后通过休息将其发送到我的网络服务器.并转换为MYSQL中的DateTime字段.

当我然后使用时刻生成时间戳,并在我的数据库中查询时刻1和时刻2之间的unix_timestamp(时间戳)时,基于DST,时刻的时间戳正好提前7或8小时.

我已将DateTime字段转换为时间戳.到目前为止还没有工作但可能是我的代码中的另一个问题.

javascript timestamp momentjs

0
推荐指数
1
解决办法
2996
查看次数

使用momentjs计算给定日期范围内的天数(以月为单位)

如何获得给定日期范围内的确切天数?恩.给出以下内容:

today = moment("2016-06-29")
due = moment("2016-05-13")

days_left = today.diff(due, 'days'); // returns 47
Run Code Online (Sandbox Code Playgroud)

但我希望它显示1个月和16天?

javascript date momentjs

0
推荐指数
1
解决办法
293
查看次数

检查时间是否大于一天中的特定时间

可能之前问过但是找不到答案.如何检查时间是否每天超过17:30?

我的情况是我需要检查周一到周五当前时间是否大于17:30,如果今天是星期六,我必须检查时间是否大于15:30.

我更喜欢使用Moment.js.

javascript momentjs

0
推荐指数
2
解决办法
6658
查看次数

使用moment.js格式化日期

我正在使用moment.js库来格式化MM DD,YYYY格式的日期.我错过了什么?

代码如下:

import moment from 'moment';

var dateStr = '2015-10-19T13:33:52.140Z';

var d = new Date(dateStr); // Mon Oct 19 2015 13:33:52 GMT+0000 (GMT)

console.log( moment(d, "MM DD, YYYY").toDate() ) // Still outputs Mon Oct 19 2015 13:33:52 GMT+0000 (GMT)
Run Code Online (Sandbox Code Playgroud)

javascript momentjs

0
推荐指数
1
解决办法
6231
查看次数

使用Angularjs中的时刻js将12小时格式转换为24小时格式

我正在使用jQuery timepicker在UI上显示12小时格式时间.但在内部,当数据进入服务器时,我必须将该格式转换为24小时格式.我怎么能用时刻js做到这一点

这是我在展示时间的时间

07:50 PM
Run Code Online (Sandbox Code Playgroud)

我想要以24小时格式转换成.我正在尝试下面的方法,但得到相同的输出,如UI所示.

output=moment($(this).val(),"hh:mm").format("HH mm");
Run Code Online (Sandbox Code Playgroud)

请帮帮我.谢谢

javascript jquery momentjs

0
推荐指数
1
解决办法
1405
查看次数

计划程序中FullCalendar限制的可选时间

在我的调度程序视图中,我试图将用户可以选择的时间限制为最多4小时。我以为那selectConstraint是票,但没有找到应用最大可选择持续时间的方法。

我希望有一些类似的东西,selectConstraint: {duration: '04:00'} 或者duration: '240'(几分钟内)。

或者...也许限制了可选插槽的数量?我将其分解为15分钟的增量,因此是否有办法将选择限制为最多16个插槽?

我一直在搜索FullCalendar Docs(我认为这是相当差的IMO ...),但是我似乎找不到关键因素。

任何人?

$('#schedulerCalendar').fullCalendar({
     defaultView: 'agendaDay',
     defaultDate: moment(systemDate),
     eventClick: $scope.eventClick,
     editable: true,
     eventOverlap: false,
     selectable: true,
     selectHelper: true,
     select: $scope.dayClick,
     slotDuration : '00:15:00',
     slotEventOverlap: false,
     allDaySlot: false,

     // Display only business hours (8am to 5pm)
     minTime: "08:00",
     maxTime: "17:00",

     businessHours: {
         dow: [ 1, 2, 3, 4, 5], // Monday - Thursday
         start: '08:00', // start time (8am)
         end: '17:00', // end time (5pm)
     }, …
Run Code Online (Sandbox Code Playgroud)

jquery scheduler fullcalendar momentjs fullcalendar-scheduler

0
推荐指数
1
解决办法
1492
查看次数

马上创建一个包含区域设置的日期

我正在尝试生成一个欧盟日期,通常采用的格式为DD/MM/YYYY.

// August 1st, 2018, EU format is DD/MM/YYYY
const myDate = moment('01/08/2018').locale('fr'); 
console.log(myDate.format('MM/DD/YYYY'));
Run Code Online (Sandbox Code Playgroud)

尝试在momentjs.com控制台中粘贴此代码,但它不起作用.

我期待08/01/2018,但是我01/08/2018回来了.它似乎不尊重语言环境日期格式.

任何人都知道如何解决这个问题?

javascript datetime momentjs

0
推荐指数
1
解决办法
300
查看次数