iT邦幫忙

0

批次檔顯示系統目前時間

pop081 2010-01-03 11:20:2328935 瀏覽

下面這個批次檔會顯示系統目前的時間,小弟覺得還蠻不錯的

但請問要怎樣才能追加顯示星期幾、am跟pm

10
marshuang
iT邦新手 1 級 ‧ 2010-01-04 12:00:11
最佳解答

我的作法是:
FOR /F %%a IN ('TIME /T') DO set a=%%a
echo 目前日期和時間 %date% %a% %time%
顯示結果為:
目前日期和時間 2010/01/04 星期一 上午 11:59:55.53

10
csk
iT邦高手 1 級 ‧ 2010-01-03 12:54:47

這裡有詳盡的教學供您參考
http://alexchuo.blogspot.com/2006/07/blog-post.html

pop081 iT邦新手 3 級 ‧ 2010-01-03 15:25:02 檢舉

沒有解釋如何顯示AM跟PM

10
lcjan
iT邦研究生 4 級 ‧ 2010-01-03 23:57:35

我在Xp下試了一下:
echo 目前時刻 %date% %time%

結果為:目前時刻 2010/01/03 星期日 23:54:49.24

nevermind iT邦新手 3 級 ‧ 2010-01-04 10:18:44 檢舉

我覺得這位寫的不錯呀~! 還不符合你的需求嗎~?

pop081 iT邦新手 3 級 ‧ 2010-01-04 10:25:23 檢舉

我還是需要能顯示上午跟下午,或者是am跟pm啊...

8
rwen1215
iT邦新手 4 級 ‧ 2010-01-04 09:54:40

可以試試 tclock 這個小程式

8
mis339
iT邦新手 2 級 ‧ 2010-01-04 11:07:40

Time顯示後,再用判斷式去寫吧!
不然就用網友提供現成的軟體囉。

8
kenb1234
iT邦新手 5 級 ‧ 2010-01-04 11:08:25

不是很懂為什麼你要顯示上午或下午 是作業嗎??

提供一個簡易版的方法 你再自己完善吧

@echo off

REM 取得時間
FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (
set a=%%a
set b=%%b
set c=%%c
)

if "%a%" lss "12" goto am
if "%a%" gtr "12" goto pm

:am
echo 目前時間為 上午%a%點%b%分%c%秒
@pause

:pm
set /a p=%a% - 12
echo 目前時間為 下午%p%點%b%分%c%秒
@pause

pop081 iT邦新手 3 級 ‧ 2010-01-04 11:59:04 檢舉

kenb1234提到:
@echo off

REM 取得時間
FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (
set a=%%a
set b=%%b
set c=%%c
)

if "%a%" lss "12" goto am...(恕刪)

請問只能用for /f 來定義嗎?
可以用set定義嗎?

pop081 iT邦新手 3 級 ‧ 2010-01-04 12:37:45 檢舉

非常感謝您的指導,我用 marshuang 大大的做法改好了:

我要發表回答

立即登入回答