|
hackhd
中级用户
积分 231
发帖 102
注册 2008-1-25
状态 离线
|
『第
16 楼』:
已经考虑到了。
所以。
a=Wsh.Run("at "&hour(now)&":"&((minute(now)+5) mod 60)&" 1.vbs",0,False)
问题解决
|
|
2008-1-26 21:41 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
17 楼』:
算了吧直接给你代码算了,at不支持上午下午的,还要格式化24小时制的
NewTime = Split(Time, ":" ,-1)
if NewTime(1)+5 > 59 Then
mm=NewTime(1)+5-60
Newnn=Split(NewTime(0), " " ,-1)
if Newnn(1)+1 = 13 Then
nn="01"
else
nn=Newnn(1)+1
end if
Times = Newnn(0) & " " & nn & chr(58) & mm & chr(58) & NewTime(2)
else
Times = NewTime(0) & chr(58) & NewTime(1)+5 & chr(58) & NewTime(2)
end if
dim wsh
set wsh=createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
command = "at " &Chr(34) & FormatDateTime (Times ,vbShortTime) &Chr(34) &" 1.vbs"
retodate=wsh.Run(command),vbHide
|
第一高手 第二高手
我的小站
|
|
2008-1-26 21:44 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
18 楼』:
hour(now)&":"&((minute(now)+5) mod 60
哦之前,知道有这样计算方法,就是不知道参数怎么写
|
第一高手 第二高手
我的小站
|
|
2008-1-26 21:54 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
19 楼』:
f
Newnn=Split(NewTime(0), " " ,-1)
这句你那里是通的麽?
h?
你那叫考虑了?你那样要等1天才运行吧?
12:56+5=13:01
你那样到12:01去执行……也叫考虑了。。。
|
|
2008-1-26 22:35 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
20 楼』:
Newnn=Split(NewTime(0), " " ,-1)
if Newnn(1)+1 = 13 Then
nn="01"
else
nn=Newnn(1)+1
end if
已经转换了
|
第一高手 第二高手
我的小站
|
|
2008-1-26 22:59 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
21 楼』:
NewTime(0)里面不包含空格……你这个是什么意思啊?
按空格分割后,newnn(1)是不存在的……你那样就下标越界了……
第一次将time分割后,0 1 2分别是h,m,s
|
|
2008-1-26 23:02 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
22 楼』:
Wscript.echo Time
下午空格HH:MM:SS
Quote: | TimeTmp="下午 12:56:00"
NewTime = Split(TimeTmp, ":" ,-1)
if NewTime(1)+5 > 59 Then
mm=NewTime(1)+5-60
Newnn=Split(NewTime(0), " " ,-1)
if Newnn(1)+1 = 13 Then
nn="01"
else
nn=Newnn(1)+1
end if
Times = Newnn(0) & " " & nn & chr(58) & mm & chr(58) & NewTime(2)
else
Times = NewTime(0) & chr(58) & NewTime(1)+5 & chr(58) & NewTime(2)
end if
Wscript.echo Times
Wscript.echo FormatDateTime (Times ,vbShortTime) |
|
|
第一高手 第二高手
我的小站
|
|
2008-1-26 23:14 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
2008-1-26 23:19 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
24 楼』:
Quote: | Originally posted by fastslz at 2008-1-26 23:19:
2种代码能达到楼主的目的讨论没有意义了 |
|
。。。。是说当系统选用24制的时候是不会出现“下午 ”字样的……
这个代码的移植性……
他的代码没有做进位虽然是1句话……
我是说这个问题。。。与方法无关。
|
|
2008-1-26 23:22 |
|
|
hackhd
中级用户
积分 231
发帖 102
注册 2008-1-25
状态 离线
|
『第
25 楼』:
哦也。讨论得还真激烈。当然我一句话只是达到我的目的,因为我不需要上午下午的判断 只要系统当时间+5就行了。
大家讨论的也对。是另一种思路
不管什么方法。我只希望代码能尽量的精简
[ Last edited by hackhd on 2008-1-26 at 11:29 PM ]
|
|
2008-1-26 23:27 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
26 楼』:
就一个DateAdd
Wscript.echo FormatDateTime(DateAdd("n",5,now),vbShortTime)
|
|
|
2008-1-27 01:14 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
27 楼』:
晕DateAdd函数原来这么简单,之前我把它复杂化了
Vbs时间换算太灵活了
vbs脚本如果英语基础好的话,写脚本如同写短句,之所以中国软件业不如后来居上印度也是因为本地化语言障碍。
|
第一高手 第二高手
我的小站
|
|
2008-1-27 14:35 |
|
|
hackhd
中级用户
积分 231
发帖 102
注册 2008-1-25
状态 离线
|
『第
28 楼』:
Wsh.Run "at "&hour(now)&":"&((minute(now)+5) mod 60)&" 1.vbs",0,False
FormatDateTime(DateAdd("n",5,now),vbShortTime)
也不错啊。。
|
|
2008-1-27 19:07 |
|