【原创】利用Windows系统日志统计员工每天上下班考勤时间
2013-11-29 15:02
393 查看
利用Windows系统日志统计员工每天上下班考勤时间(命令行参数为统计月份):
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace ConsoleSysLogView { class Program { static void Main(string[] args) { SystemLog log = new SystemLog(); if (args.Length == 1) { int x = Convert.ToInt32(args[0]); log.PrintEventLog(x); } else { Console.WriteLine("Event count: " + log.Count); Console.WriteLine("QueryMessage: SysLogView.exe MonthNum"); } if (Debugger.IsAttached) Console.ReadKey(); } } public class SystemLog { private EventLogEntryCollection _eventCollection; private EventLog _systemEvent; public SystemLog() { _systemEvent = new EventLog(); _systemEvent.Log = "System"; _eventCollection = _systemEvent.Entries; } public void PrintEventLog(int month) { DateTime dateFrom = new DateTime(DateTime.Now.Year, month, 1); DateTime dateTo = dateFrom.AddMonths(1); DateTime dt = dateFrom; while (dt < dateTo) { IList<EventLogEntry> list = Events.Where(a => a.TimeGenerated.Date == dt.Date).OrderBy(a => a.TimeGenerated).ToList(); if (list.Count > 0) { Console.WriteLine(); Console.WriteLine(GetLogEntryText(list[0])); if (list.Count > 1) { int l = list.Count - 1; Console.WriteLine(GetLogEntryText(list[l])); } } dt = dt.AddDays(1); } } private string GetLogEntryText(EventLogEntry entry) { return string.Format("{0} {1:yyyy-MM-dd HH:mm} 来源:{2} 事件ID:{3}", entry.EntryType, entry.TimeGenerated.ToString("yyyy-MM-dd HH:mm"), entry.Source, entry.InstanceId); } private IList<EventLogEntry> _events; public IList<EventLogEntry> Events { get { if (_events == null) { _events = new List<EventLogEntry>(); for (int i = 0; i < _eventCollection.Count; i++) { EventLogEntry entry = _eventCollection[i]; _events.Add(entry); if (i % 1000 == 0) Console.Write("."); } } return _events; } } public int Count { get { return Events.Count; } } } }
相关文章推荐
- 【原创】Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- 通过分析系统日志,统计你的电脑开机时间的小程序PC PowerOn Time,附源码
- windows下利用VBS修改系统时间
- Windows MySQL查看log日志 同步log和系统时间
- windows时间不准,利用PYthon设置系统时间
- 公司员工没有管理员权限怎么办 C#文件夹、文件添加权限 C#读取windows系统日志 C#设置环境变量
- 公司员工没有管理员权限怎么办 C#文件夹、文件添加权限 C#读取windows系统日志 C#设置环境变量
- 自己早期写的一个简单上下班打卡统计工时的考勤系统【整理版】
- 自己早期写的一个简单上下班打卡统计工时的考勤系统【整理版】
- 计算机每天开关机时间和开启系统日志
- 如何读取Windows系统事件日志(获得上次关机时间、本次开机时间等)
- linux 利用wtmp 日志记录并分析用户登陆统计
- Windows下利用C语言获得函数的执行时间
- [原创]今天开发日志管理系统,全选,多项删除功能。
- CCS3.3利用profile对程序的运行时间进行统计
- mysql5.7日志时间与系统时间不一致
- 修改系统时间 (windows,Linux)
- 利用Xmanager Enterprise 4查看apache服务器上面系统运行日志
- olap系统统计信息任务更改默认启动时间及其执行时间