aminebenhariz / attendance
基于文本输入的考勤解析器和计算器
0.4.1
2016-03-29 15:39 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2024-09-24 19:14:03 UTC
README
目录
安装
通过 Composer
$ composer require aminebenhariz/attendance
DayAttendanceLine 格式
2015-12-12|08:30 (10:00-10:30) (16:00-16:30) 17:30
- 2015-12-12 : date (yyyy-mm-dd)
- 08:30 : arrival time (hh:mm)
- (10:00-10:30) : pause from 10:00 to 10:30
- (16:00-16:30) : pause from 16:00 to 16:30
- 17:30 : departure time (hh:mm)
描述可以添加如下
2015-12-12|08:30 (10:00-10:30) (16:00-16:30) 17:30|Some Description
用法
计算考勤
$dayAttendanceLine = '2015-12-12|08:30 (10:00-10:30) (16:00-16:30) 17:30'; $dayAttendance = DayAttendance::parseDayAttendanceLine($dayAttendanceLine); echo $dayAttendance->getDuration()->format('%H:%I:%S'); // 07:30:00 echo $dayAttendance->exportLine(); // 2015-12-12|08:30 (10:00-10:15) (12:30-13:30) (16:00-16:15) 17:30
计算多天的平均考勤
$day1 = DayAttendance::parseDayAttendanceLine('2015-12-14|08:31 (12:02-13:42) 17:25'); $day2 = DayAttendance::parseDayAttendanceLine('2015-12-15|08:29 (12:21-13:32) (16:12-16:22) 17:24'); $day3 = DayAttendance::parseDayAttendanceLine('2015-12-16|08:52 (12:18-13:12) 17:31'); $day4 = DayAttendance::parseDayAttendanceLine('2015-12-17|08:12 (12:21-13:52) 17:24'); $day5 = DayAttendance::parseDayAttendanceLine('2015-12-18|08:35 (12:24-13:25) 17:42'); $attendance = new Attendance([$day1, $day2, $day3, $day4, $day5]); echo $attendance->getAverage()->format('%H:%I'); // 07:40
要求
此版本支持的 PHP 版本如下。
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7.0
- HHVM
测试
$ composer test