date – 如何设置当前的Unix时间(以毫秒为单位)?
发布时间:2020-12-15 18:31:35 所属栏目:安全 来源:网络整理
导读:可能解决方案 date --set="2011-12-07 01:20:15.962" date --rfc-3339=ns 原始问题 我可以像毫秒一样得到日期: date +"%S.%N"date --rfc-3339=ns 根据man date,我希望能够这样设置: date --set=%s.%N +`date +"%S.%N"`date --set="%s.%N" "+1323217126.085
可能解决方案
date --set="2011-12-07 01:20:15.962" && date --rfc-3339=ns 原始问题 我可以像毫秒一样得到日期: date +"%S.%N" date --rfc-3339=ns 根据man date,我希望能够这样设置: date --set=%s.%N +`date +"%S.%N"` date --set="%s.%N" "+1323217126.085882000" 根据my googling我希望能够像这样设置日期(与上面相反): date +%s.%N -s `date +"%S.%N"` date +"%s.%N" -s "1323217126.085882000" 都没有工作.有人能在这个问题上提醒我吗? 附:不,我不需要纳秒分辨率.是的,我知道bash执行需要几毫秒.我真正需要的是亚秒级分辨率,十分之一秒就足够了.
这是一个解决方案(Linux,而不是Unix):
date --set="2011-12-07 01:20:15.962" && date --rfc-3339=ns 注意延迟: CURTIME=`date --rfc-3339=ns` date --set="${CURTIME}" NEWTIME=`date --rfc-3339=ns` echo ${CURTIME} echo ${NEWTIME} 2011-12-07 01:48:54.687216122+00:00 2011-12-07 01:48:54.720541318+00:00 正如您将注意到的,引入了整整毫秒的延迟.这是由于为初始化内存和加载日期二进制文件所花费的时间.这适用于所有shell和insert-higher-level-language-exec的exec 但是,如果你只需要在10秒钟范围内的亚秒级分辨率,这在很多情况下都足够好了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |