最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

计算员工的活跃时间

运维笔记admin6浏览0评论

计算员工的活跃时间

计算员工的活跃时间

我正在尝试为员工创建时间表,在其中将每个事件(活动,不活动)保存为MongoDB中的时间戳。如何根据给定时间计算员工的活动时间?

{ 
    "_id" : ObjectId("5d8c8dcca4c6010e29140e0e"), 
    "activityAt" : ISODate("2019-09-26T10:07:05.388+0000"), 
    "version" : NumberInt(1), 
    "deleted_at" : null, 
    "event" : "ACTIVE", 
    "employeeId" : ObjectId("5d78fba602c9265fc7ad6273"), 
    "created_at" : ISODate("2019-09-26T10:07:08.479+0000"), 
    "modified_at" : ISODate("2019-09-26T10:07:08.479+0000")
}
// ----------------------------------------------
{ 
    "_id" : ObjectId("5d8c8dcca4c6010e29140e0f"), 
    "activityAt" : ISODate("2019-09-26T11:07:05.388+0000"), 
    "version" : NumberInt(1), 
    "deleted_at" : null, 
    "event" : "INACTIVE", 
    "employeeId" : ObjectId("5d78fba602c9265fc7ad6273"), 
    "created_at" : ISODate("2019-09-26T11:07:08.481+0000"), 
    "modified_at" : ISODate("2019-09-26T11:07:08.481+0000")
}
回答如下:

对于“活动”的每个条目,请从ISODate中获取日期并从中减去当前日期(或任何给定时间)。结果将是员工拥有的所有活动时间。

使用伪代码:

active_time = 0
for entry in db:
    if entry.event == 'ACTIVE':
        active_time = active_time + (current_date - entry.ISODate)
return active_time

您唯一需要做的就是将日期转换为可以减去/加/等的日期。一种解决方案是将其转换为小时。

祝你好运!

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论