- 论坛徽章:
- 0
|
本帖最后由 wsleichao3 于 2013-06-19 20:37 编辑
先说下环境:- [root@localhost ~]# cat /etc/redhat-release
- Fedora release 18 (Spherical Cow)
- [root@localhost ~]# bash --version
- bash --version
- GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)
- [root@localhost ~]# date --version
- date --version
- date (GNU coreutils) 8.17
复制代码 先看中文下的:- [root@localhost ~]# echo $LANG
- zh_CN.UTF-8
- [root@localhost ~]# a=`TZ=EST date`;echo $a
- 2013年 06月 19日 星期三 07:17:56 EST
- [root@localhost ~]# b=`TZ=EST date`;echo $b
- 2013年 06月 19日 星期三 07:18:06 EST
- [root@localhost ~]# date -d"$a"
- 2013年 06月 19日 星期三 20:13:00 CST
- [root@localhost ~]# date -d"$b"
- 2013年 06月 19日 星期三 20:13:00 CST
复制代码 再看LANG=C时的- [wsleichao@localhost ~]$ LANG=C
- [wsleichao@localhost ~]$ a=`TZ=EST date`;echo $a
- Wed Jun 19 07:19:20 EST 2013
- [wsleichao@localhost ~]$ b=`TZ=EST date`;echo $b
- Wed Jun 19 07:19:27 EST 2013
- [wsleichao@localhost ~]$ date -d"$a"
- Wed Jun 19 20:19:20 CST 2013
- [wsleichao@localhost ~]$ date -d"$b"
- Wed Jun 19 20:19:27 CST 2013
复制代码 可以看到当LANG=zh_CN.UTF-8的时候,date -d"$a"和date -d"$b"的结果居然是一样的,而且算的时间也是不准确的。而LANG=C的时候就是正确的。 |
|