Linux中时间处理的详解(Linux中时间)
Linux中时间处理的详解
Unix时间是指从格林威治时间1970年1月1日00:00:00到现在经过的秒数,在Linux系统中,会使用这种记录时间的方式,具体应用可以作为文件或者设备节点的最后修改时间,也可以作为程序或者daemon启动的时间计算。这种时间处理机制在linux系统中是非常重要的,它决定了文件系统上的操作,Linux的内核也根据这种机制来处理中断、调度等相关的动作。
时间的表示形式
Unix时间可以简单的认为是一个以秒为单位的计算,在shell程序中,可以使用date命令来显示这种时间(上面的格式是日期加时间,以及准确的秒数),当需要在程序中获取当前的时间时,可以使用linux体系的gettimeofday()函数来获取。
另一种时间表示形式是绝对时间,形式为HH:MM:SS,是从1970年1月1日0时开始计算的秒时间,它提供了一种从绝对时间并且可以做简单的比较的手段,比如前一个小时,早上8点等等。
处理时间的模块
Linux系统提供了一些用于处理时间和时间格式的模块,主要有gmtime()和localtime(),两者的在把Unix时间转换到具体的时间格式上有区别,gmtime()函数就是把Unix时间转换为UTC (协调世界时)格式,而localtime()函数则是把时间转换为当前时区的时间,并且也可以自己设定一个时区。
总结
Unix时间在linux系统中有着重要的作用,它可以表示文件系统上的操作,也可以作为程序运行的衡量标准,此外linux系统为了处理这种格式的时间还提供了gmtime()、localtime()等一系列的处理程序,这都使得在linux系统中进行时间处理变的更为方便。