質問

質問者:mytora1 時刻をBATファイルにて24時間に変換する方法
困り度:
  • すぐに回答が欲しいです
時刻をBATファイルにて24時間に変換する方法
現在Windows NTにてBATファイルを使用してテキストファイルにて一部のデーターを
抽出している作業を行っております。
その中で時刻を載せているのですが、今まではAM/PM標識(01:03pや01:03a)のようにしていたのですが、
今後24時間表示(01:03pを13:03)に切り替えなければいけなくなってしまいました。

本当なら、時刻の設定で切り替えればいいのですが、使用しているシステムにて
AMやPMを読みにいっている状態で変更が不可の状態になってしまいました。

その為、BATファイルにて切替えを行わなくてはいけないのですが方法がわかりません
申し訳ありませんが教えて下さい。

現在のtime /tの内容
time /t >A.txt
01:03p(表示内容)

これをこちらにしたいです
time /t >A.txt
13:03(表示内容)
質問投稿日時:2005/03/14 17:25
質問番号:1269031
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

 

回答者:noname#25230 #1の者です。

ごめんなさい、OSの設定はいじれない、という前提だったのですね。きちんと読まずに回答してしまいました。失礼しました。
回答日時:2005/03/14 18:25
回答番号:No.4
この回答へのお礼 この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:BLUEPIXY 時刻の表示形式が変更できないのであれば、
HH:MM形式で時刻を表示するプログラムを作るのが良いと思います。
例えば、VBScriptで
WScript.Echo right("0" & hour(time),2) & ":" & right("0" & minute(time),2)
という内容のファイルを
time.vbsという名前で保存したとして
バッチの
time /t >A.txt

cscript //Nologo time.vbs >A.txt
に置き換えます
回答日時:2005/03/14 18:13
回答番号:No.3
この回答へのお礼 この回答にお礼をつける(質問者のみ)

回答

良回答20pt

回答者:notnot NT4は手元に無いのですが、2000やXPだと%TIME%は常に24時制なのでもし同じなら、
set T=%TIME: =0% (9:59までは先頭空白なのでそれをゼロにする)
set T=%T:~0,5%
echo %T%
が簡単です。それでだめだと、
for /f %%A in ('time/t') do set T=%%A
set T1=%T:~0,2%
set T2=%T:~3,2%
set T3=%T:~5%
if %T3%==p set /a T1=1%T1%-100+12
set T=%T1%:%T2%
echo %T%
回答日時:2005/03/14 18:05
回答番号:No.2
この回答へのお礼 ありがとうございます。非常に役に立ちました。

回答

 

回答者:noname#25230 手元にNTマシンが無いので確認できませんが、OSの時刻表示設定に依存している可能性はありませんでしょうか?

WindowsXPだと、コントロールパネル→地域と言語のオプション→カスタマイズ のところで変更できます。
NTでも同様の設定はあるはずです。たしか。
回答日時:2005/03/14 17:46
回答番号:No.1
この回答へのお礼 この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示