技术科普

时区与考勤系统:跨时区团队的打卡怎么算

当团队分布在多个时区,考勤系统面对的不只是“几点上班”,而是“以谁的时间定义这一天”。设计不当,就会出现漏卡、重复计算或加班费争议。

三种时间要分清

  • 打卡时刻:员工设备记录的绝对时间,建议存UTC
  • 班次时间:按员工所属站点的本地时区定义
  • 结算周期:按公司政策定义的日历,通常也是本地日期

跨零点班次

夜班从22:00到次日6:00,若按自然日切分,会被拆成两天。多数系统引入“班次日期”概念,把整段班次归属到开始那一天,避免工时被腰斩。工资计算时应明确这一点。

夏令时的两个坑

春季跳过的一小时里,夜班实际少工作一小时;秋季重复的一小时里,可能多出一小时。系统若按本地时间差值计算工时,结果会与真实出勤不符。稳妥做法是按UTC时间差计算实际工时,再换算为本地显示。

远程员工的位置

远程办公者的“工作地时区”应与合同约定一致,而不是随旅行频繁变动。若员工长期异地办公,应在系统中更新站点时区,并同步调整班次规则与假期日历。

小结

考勤时间模型的要点是:打卡存UTC,班次用本地时区,结算按政策日历。三者分离后,跨时区团队也能得到一致、可解释的结果。