Chinaunix

标题: 怎么修改日期而不改变时间? [打印本页]

作者: esmall    时间: 2009-02-04 11:16
标题: 怎么修改日期而不改变时间?
怎么修改日期而不改变时间?
如:date "-s 2009-02-04",后面不带时间的话,时间会变为0:0
有没有办法不改变时间呢?
作者: sonorous    时间: 2009-02-04 12:02
改之前先取时间,改的时候把时间付上去
作者: peacock66    时间: 2009-02-04 12:11
标题: 回复 #1 esmall 的帖子
试试??
date MMddhhmmyyyy
作者: haimming    时间: 2009-02-04 12:20
try
date -s "2009-02-04 `date +%T`"  #双引号内的date +%T用反引号刮起来
作者: 我是DBA    时间: 2009-02-04 12:54
标题: 回复 #4 haimming 的帖子
这方法不错。
作者: esmall    时间: 2009-02-04 17:37
标题: 回复 #4 haimming 的帖子
谢谢haimming,但这样一样会修改时间值。
实际使用会使系统时间变慢:date -s "2009-02-04 `date +%T`"这条语句运行的次数越多,时间会变的越慢,这样就使系统时间变的不精确了。

[ 本帖最后由 esmall 于 2009-2-4 17:38 编辑 ]
作者: 我是DBA    时间: 2009-02-04 17:40
标题: 回复 #6 esmall 的帖子
这个运行一次就可以啊,运行多次干什么
命令有个时间差,所以会越来越慢,
最好做个时间服务器
时间都跟一台服务器同步。
作者: ynchnluiti    时间: 2009-02-04 17:43
原帖由 我是DBA 于 2009-2-4 17:40 发表
这个运行一次就可以啊,运行多次干什么
命令有个时间差,所以会越来越慢,
最好做个时间服务器
时间都跟一台服务器同步。

ntp同步?
作者: 我是DBA    时间: 2009-02-04 17:44
标题: 回复 #8 ynchnluiti 的帖子
对,就是它
我们所有服务器都用它
作者: esmall    时间: 2009-02-04 17:51
标题: 回复 #7 我是DBA 的帖子
我的意思是每运行一次就会慢一点,当运行次数多了就会越来越慢了,不是一次性运行这么多次。
我没有时间服务器,请问有没有办法补上损失的时间呢?
作者: 我是DBA    时间: 2009-02-04 17:54
标题: 回复 #10 esmall 的帖子
再date -s 一下啊
只修改时间,不修改日期
例:
date -s 18:23:55
作者: esmall    时间: 2009-02-04 18:38
标题: 回复 #11 我是DBA 的帖子
我的脚本如下,但脚本执行多了,就会使系统时间变慢。

#!/bin/bash
.
.
.
_now=$(date "+%s")
tmp=$(date "-s 2008-11-11 `date +%T`")
{
sleep 10;
_back=$(expr $_now + 10);
_back=$(date -d"1970-01-01 UTC $_back seconds" +"%Y-%m-%d %T");
date "-s $_back";
} &
.
.
.
作者: haimming    时间: 2009-02-04 20:12
还有个办法,看看合不合适

  1. #!/bin/bash

  2. d1=$(date "+%s" -d "2008-11-11")
  3. d2=$(date "+%s")
  4. ch=$(((d2-d1)/86400))
  5. #echo $ch

  6. date -s "-$ch days"
  7. exit 0
复制代码

作者: esmall    时间: 2009-02-05 09:58
标题: 回复 #13 haimming 的帖子
牛,多谢haimming,这个办法很好!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2