nemo
2017年5月7日 20時29分
何時もお世話になっております。
根本です。
Armadillo-240を使用しております。
Armadillo-240のdateコマンドについて教えて頂きたいのですが。
date -u -d 19700101 '+%s' のリターンが0になると思っていたのですが
0にならないのいですが何故でしょうか?
date -d の結果が期待と違う値になってしまうのですが
何故なおでしょうか。(date -u と date -u '+%s'は問題ないのですが)
以下の様な結果になってしまいます。
[root@armadillo420-0 (ttymxc1) ~]# date -u
Thu Jan 1 00:01:34 UTC 1970
[root@armadillo420-0 (ttymxc1) ~]# date -u '+%s'
104
[root@armadillo420-0 (ttymxc1) ~]# date -u -d 19700101 '+%s'
53139660
[root@armadillo420-0 (ttymxc1) ~]# date -u -d 19700101
Wed Sep 8 01:01:00 UTC 1971
初歩的な事で申し訳ありません
教えて頂けたら嬉しいです。
以上
コメント
y.nakamura
中村です。
ヘルプを見ると・・・
-d STRING Displays time described by STRING, not `now'
となっていて、どういう書式が受け付けられるのかわかりません。
ソースを見てみました。busybox-1.00です。
nr = sscanf(t_string, "%2d%2d%2d%2d%d", &(tm_time->tm_mon), &(tm_time->tm_mday), &(tm_time->tm_hour), &(tm_time->tm_min), &(tm_time->tm_year));
"-d"がある場合も、"-d"なしで指定する場合も、
これでパースされるようです。
date -h で表示される
Usage: date [OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]
と同じMMDDhhmmCCYYです。
# date -u -d 010100001970 '+%s'
0
# date -u -d 010100001970
Thu Jan 1 00:00:00 UTC 1970
> > [root@armadillo420-0 (ttymxc1) ~]# date -u -d 19700101
> > Wed Sep 8 01:01:00 UTC 1971
これがどのように解釈されたのかというと・・・・
左端から2桁ずつ、月、日、時、分、残りが年ですから、
19月70日01時01分で、年はナシです。
19月⇒1年+7月
70日⇒2ヶ月+数日(何月にするかで日数が違います)
これを現在年の1970年に適用して
1971年9月8日となったようです。
ちなみに、現在年月日が2017年の今日になっている場合に
"19700101"で指定すると、次のようになります。
# date 050721552017
Sun May 7 21:55:00 UTC 2017
# date -u -d 19700101
Sat Sep 8 01:01:00 UTC 2018
--
なかむら
nemo
nemo
2017年5月7日 20時32分
根本です。
大変申し訳ありません。
使用製品名を間違えました。
Armadillo 420 を使用しております。
以上
> 何時もお世話になっております。
> 根本です。
>
> Armadillo-240を使用しております。
> Armadillo-240のdateコマンドについて教えて頂きたいのですが。
>
> date -u -d 19700101 '+%s' のリターンが0になると思っていたのですが
> 0にならないのいですが何故でしょうか?
>
> date -d の結果が期待と違う値になってしまうのですが
> 何故なおでしょうか。(date -u と date -u '+%s'は問題ないのですが)
>
> 以下の様な結果になってしまいます。
>
> [root@armadillo420-0 (ttymxc1) ~]# date -u
> Thu Jan 1 00:01:34 UTC 1970
> [root@armadillo420-0 (ttymxc1) ~]# date -u '+%s'
> 104
> [root@armadillo420-0 (ttymxc1) ~]# date -u -d 19700101 '+%s'
> 53139660
> [root@armadillo420-0 (ttymxc1) ~]# date -u -d 19700101
> Wed Sep 8 01:01:00 UTC 1971
>
>
> 初歩的な事で申し訳ありません
> 教えて頂けたら嬉しいです。
>
> 以上
>