可以调用函数
settimeofday
int settimeofday(const struct timeval *tv , const struct timezone *tz)struct timeval {
time_t tv_sec /* seconds since Jan. 1, 1970 */
suseconds_t tv_usec /* 微妙 */
}
也可以用system调用系统命令date
Linux 的时间内部是 timestemp 。这个时间输出是根据当前时区的设置进行输出,当前时区的设置文件是 /etc/localtime (如果我没记错)。就算你没设置时区,那么系统依然会有一个默认的时区进行输出。系统默认有一个 localtime ,好像格式设置是英国表示法。时区没有,应该是 local 时间而不是 GMT 。
一个正确使用的 linux 专用机器,计算机时间一般是保存为格林威治标准时间,系统在输出时会根据 localtime 进行转换输出。
自定义默认日期应该是在输出时间时设置输出格式信息,而不是强行的去设置整个系统的环境。
因为这个设置只对考虑时区设置的输出格式的一些程序管用,在系统内部,依然是通用的 timestemp 存储。而且很多程序有自己独立的设置,尤其是在某些程序里面,他不同的情况下会进行不同的输出。比如 mysql ,非 timestemp 时间的存储用的是 ISO 标准格式,也就是 YYYY-MM-DD HH:mm:ss 的样子(如果还是我没记错),如果你需要格式要求,需要自己查询后或者查询时进行格式转换。
你正在一个错误的方向进行一个错误的折腾。
linux 修改时间显示格式本文参inux macos 修改 ls 显示年月日的时间格式linux 系统的 ls 默认支持 --full-time,但是 macos 系统下的 ls 不支持 --full-time1、linux 系统下的ls --full-time 1 2 34 5 6 7 8 9 10 11 12 13 # ll varlog | head -5 total 10024 drwxr-x---. 2 root root 4096 may 28 ...欢迎分享,转载请注明来源:内存溢出
评论列表(0条)