📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == <br> == 昨日の日付を取得する == ==== 拡張されたdateコマンドGNU dateが使用可能な場合 ==== Linuxでは、拡張されたGNU dateコ…」 |
細 文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag… |
||
| (同じ利用者による、間の3版が非表示) | |||
| 248行目: | 248行目: | ||
date -d '12 hours ago' '+%Y-%m-%d [%H:%M:%S]' | date -d '12 hours ago' '+%Y-%m-%d [%H:%M:%S]' | ||
<br> | <br> | ||
dateコマンドで表示される日時を現在日時ではなく、以下のように、指定した日時でdateコマンドを実行することも可能である。<br> | |||
# | # 現在日時を、2021/01/01 12:13:14としてコマンドを実行する | ||
date -d ' | date -d '2021/01/01 12:13:14' | ||
# フォーマットの指定も可能 | # フォーマットの指定も可能 | ||
# | # dateコマンドに日時を指定すると、現在日時ではなく指定した日時で結果が表示される。 | ||
date -d '2021/01/01 12:13:14' '+%Y %m %d - %H %M %S' | date -d '2021/01/01 12:13:14' '+%Y %m %d - %H %M %S' | ||
<br> | <br> | ||
| 261行目: | 261行目: | ||
# フォーマットの指定も可能 | # フォーマットの指定も可能 | ||
date -d '2021/01/01 12:13:14 1 months ago' '+%Y %m %d - %H %M %S' | date -d '2021/01/01 12:13:14 1 months ago' '+%Y %m %d - %H %M %S' | ||
<br> | |||
==== 日付の比較を行う ==== | |||
ログファイル等から取得した日付において、タイムスタンプを比較する場合は、以下のように記述する。<br> | |||
<syntaxhighlight lang="sh"> | |||
#!/usr/bin/env sh | |||
# 1970-01-01 00:00:00からの経過秒に変換する | |||
DATE_1=`date -d "$1" '+%s'` | |||
DATE_2=`date -d "$2" '+%s'` | |||
# 2つの日付を表示しておく | |||
echo "DATE 1: $1" | |||
echo "DATE 2: $2" | |||
# 2つの日付を比較し、結果を表示する | |||
if [ $DATE_1 -eq $DATE_2 ]; then | |||
echo "指定された2つの日付は同一日時です。" | |||
elif [ $DATE_1 -gt $DATE_2 ]; then | |||
echo "DATE 1 の方が新しい日付です。" | |||
elif [ $DATE_1 -lt $DATE_2 ]; then | |||
echo "DATE 2 の方が新しい日付です。" | |||
fi | |||
exit 0 | |||
</syntaxhighlight> | |||
<br> | |||
上記の実行結果は、以下の通りである。<br> | |||
./xxx.sh "2021/01/01 00:00:00" "2021/01/01 00:00:00" | |||
# 出力 | |||
DATE 1: 2021/01/01 00:00:00 | |||
DATE 2: 2021/01/01 00:00:00 | |||
指定された2つの日付は同一日時です。 | |||
<br> | |||
./xxx.sh "2021/01/01 00:00:01" "2021/01/01 00:00:00" | |||
# 出力 | |||
DATE 1: 2021/01/01 00:00:01 | |||
DATE 2: 2021/01/01 00:00:00 | |||
DATE 1 の方が新しい日付です。 | |||
<br> | |||
./xxx.sh "2021/01/01 00:00:00" "2021/01/01 00:00:01" | |||
# 出力 | |||
DATE 1: 2021/01/01 00:00:00 | |||
DATE 2: 2021/01/01 00:00:01 | |||
DATE 2 の方が新しい日付です。 | |||
<br> | |||
日付は、<code>date</code>コマンドのフォーマット<code>'+%s'</code>を使用することにより、1970-01-01 00:00:00からの経過を秒に変換する。<br> | |||
これにより、日付の比較を単純な数値の比較とすることができる。<br> | |||
つまり、秒に変換することで、新しい日付の方が大きい数値ということになる。<br> | |||
<br> | |||
また、フォーマット<code>'+%s'</code>を使用した<code>date</code>コマンドの実行結果は、以下の通りである。<br> | |||
date -d '2021/01/01 00:00:00' '+%s' | |||
1609426800 | |||
date -d '2021/01/01 00:00:01' '+%s' | |||
1609426801 | |||
<br><br> | <br><br> | ||
| 304行目: | 362行目: | ||
また、dateコマンドの部分をecho "1273597263"等とすることにより、任意のシリアル値を変換できる。<br> | また、dateコマンドの部分をecho "1273597263"等とすることにより、任意のシリアル値を変換できる。<br> | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | ||