|
pykacha
初级用户
积分 156
发帖 73
注册 2008-5-9
状态 离线
|
『楼 主』:
如何判断处于哪个时间段?
我想实现下面功能
如果当前时间处于上午8:45到9:10之间,则设置wt为“早”,如果是9:10到10:00之间,则设置wt为“迟”。
请问要如何编写?
|
为自己是中国人而倍感骄傲 |
|
2008-5-13 09:51 |
|
|
plp626
银牌会员
钻石会员
积分 2278
发帖 1020
注册 2007-11-19
状态 离线
|
『第
2 楼』:
if/?
if %time%大于 8:45 if %time% 小于 9:10 (set wt=早) else set wt 迟
|
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~ 空间~~cmd学习 |
|
2008-5-13 10:23 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
@echo off
set wt=
if "%time:~0,5%" geq " 8:45" (
if "%time:~0,5%" lss " 9:10" (
set wt=早
) else if "%time:~0,5%" geq " 9:10" (
if "%time:~0,5%" lss "10:00" (
set wt=迟
)
)
)
echo %wt%
|
|
2008-5-13 11:01 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
4 楼』:
8:45这样的结构能够用于if的判断大小吗??
|
|
2008-5-13 11:52 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by huahua0919 at 2008-5-13 11:52 AM:
8:45这样的结构能够用于if的判断大小吗?? |
|
你能给出一个不能的例子吗??
|
|
2008-5-13 12:01 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
6 楼』:
执行你的程序说 echo 处于关闭状态
|
|
2008-5-13 12:05 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by huahua0919 at 2008-5-13 12:05 PM:
执行你的程序说 echo 处于关闭状态 |
|
正常吧,仔细看看楼主的要求,对于不在那个两个时间段的情况没做要求。
|
|
2008-5-13 12:41 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
8 楼』:
@echo off
set t=%time:~0,5%
for /f "tokens=1,2 delims=:." %%a in ("%t%") do (
set /a s=100%%a%%100*60,f=100%%b%%100+s
)
set /a w=1/(f/525),1/(550/f)2>nul&&set var=早
set /a w=1/(f/551),1/(600/f)2>nul&&set var=迟
if defined var (echo %t% %var%) else echo %t% 不在指定时间段。
pause [ Last edited by 26933062 on 2008-5-13 at 01:20 PM ]
|
致精致简! |
|
2008-5-13 13:19 |
|
|
pooronce
中级用户
积分 484
发帖 250
注册 2007-6-5
状态 离线
|
『第
9 楼』:
if %time:~0,2%%time:~3,2% geq 845 (
if %time:~0,2%%time:~3,2% leq 910 (
set "wt=早"
) else if %time:~0,2%%time:~3,2% gtr 910 (
if %time:~0,2%%time:~3,2% leq 1000 (
set "wt=迟"
) else (
set "wt=太迟"
)
)
) else set "wt=太早"
echo %wt%
|
|
2008-5-13 13:26 |
|
|
joyn
中级用户
丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
『第
10 楼』:
@echo off&setlocal ENABLEDELAYEDEXPANSION
set wt=
if "!time:~0,5!" geq " 8:45" (
if "!time:~0,5!" lss " 9:10" (
set wt=早
) else if "!time:~0,5!" geq " 9:10" (
if "!time:~0,5!" lss "10:10" (
set wt=迟
)
)
)
echo.!wt!
"else set wt=不在时间段内"这一段可以避免提示"ECHO处于关闭状态"而直接提示现在不是所在条件时间段内~
[ Last edited by joyn on 2008-5-13 at 02:27 PM ]
|
|
2008-5-13 14:24 |
|
|
plp626
银牌会员
钻石会员
积分 2278
发帖 1020
注册 2007-11-19
状态 离线
|
『第
11 楼』:
大家,想复杂了。
粘贴到命令行:
if %time% geq 08:45 if %time% lss 09:10 (echo 早) else if %time% geq 09:10 echo 迟
|
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~ 空间~~cmd学习 |
|
2008-5-13 15:27 |
|
|
pooronce
中级用户
积分 484
发帖 250
注册 2007-6-5
状态 离线
|
『第
12 楼』:
Quote: | Originally posted by plp626 at 2008-5-13 03:27 PM:
大家,想复杂了。
粘贴到命令行:
if %time% geq 08:45 if %time% lss 09:10 (echo 早) else if %time% geq 09:10 echo 迟 |
|
%time%在10点前是不显示前置0的
另外你这个在时间段之外都是迟了好像
|
|
2008-5-13 15:53 |
|
|
plp626
银牌会员
钻石会员
积分 2278
发帖 1020
注册 2007-11-19
状态 离线
|
『第
13 楼』:
RE:pooronce
和那个没关系,
当前时间大于9:10才显示迟,你把9:10改小些再测试测试。。。
if %time% geq 08:45 if %time% lss 09:10 echo 早
if %time% geq 09:10 echo 迟
[ Last edited by plp626 on 2008-5-13 at 04:37 PM ]
|
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~ 空间~~cmd学习 |
|
2008-5-13 16:22 |
|
|
pykacha
初级用户
积分 156
发帖 73
注册 2008-5-9
状态 离线
|
『第
14 楼』:
想不到短短时间内前辈们为我提供了那么多种方法,每种方法我都学习尝试了。
谢谢大家了!
|
为自己是中国人而倍感骄傲 |
|
2008-5-13 17:52 |
|
|
pooronce
中级用户
积分 484
发帖 250
注册 2007-6-5
状态 离线
|
『第
15 楼』:
Quote: | Originally posted by plp626 at 2008-5-13 04:22 PM:
RE:pooronce
和那个没关系,
当前时间大于9:10才显示迟,你把9:10改小些再测试测试。。。
[code]if %time% geq 08:45 if %time% lss 09:10 echo 早
if ... |
|
你上面那段代码,自己试过没?
我改成8点10分都是迟的
有关系的,带0的就是8进制了,甚至会命令出错不能比了。或者呢字符串比就是空格跟0比了,能一样么
|
|
2008-5-13 17:57 |
|