双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

[源码分享]----PC时间转秒

按键精灵小Q 按键精灵小Q 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

作者:瑞祥幽冥狼

 

如何实现时间转秒:

例:[3天1小时20分17秒]转秒

思路1:split

代码

t = "3天1小时20分17秒"

天 = split(t, "天")(0)

小时 = GetStrAB(t, "天", "小时")

分=GetStrAB(t, "小时", "分")

秒 = GetStrAB(t, "分", "秒")

TracePrint 天*3600*24+小时*3600+分*60+秒&"秒"

Function GetStrAB(Str, StrA, StrB)

If InStr(Str,StrA)>0 And InStr(Str,StrB)>0 Then GetStrAB=Split(Split(Str,StrA)(1),StrB)(0)

End Function

 

调试输出

t = "3天1小时20分17秒"

天 = split(t, "天")(0)

小时 = GetStrAB(t, "天", "小时")

分=GetStrAB(t, "小时", "分")

秒 = GetStrAB(t, "分", "秒")

TracePrint 天*3600*24+小时*3600+分*60+秒&"秒"

Function GetStrAB(Str, StrA, StrB)

If InStr(Str,StrA)>0 And InStr(Str,StrB)>0 Then GetStrAB=Split(Split(Str,StrA)(1),StrB)(0)

End Function

 


思路2"正则+split
代码:

str = "3天1小时20分17秒"

Set regEx = New RegExp

regEx.IgnoreCase = True

Execute "regEx.Global = True"

regEx.pattern = "\d+"

Set Matches = regEx.Execute(str)

ReDim Rlt(Matches.Count)

For Each Match in Matches

Rlt(i) = Match.Value

i = i + 1

Next

TracePrint Join(rlt, "|")

TracePrint rlt(0)*3600*24+rlt(1)*3600+rlt(2)*60+rlt(3)&"秒"

 

调试输出:

脚本 N7.Q ,第14行:3|1|20|17|

脚本 N7.Q ,第15行:264017

 

思路3:Replace+eval
代码:

t = "3天1小时20分17秒"

t = Replace(t, "天", "*3600*24+")

t = Replace(t, "小时", "*3600+")

t = Replace(t, "分", "*60+")

t = Replace(t, "秒", "")

TracePrint t

TracePrint eval(t)

 

调试输出:

脚本 N7.Q ,第6行:3*3600*24+1*3600+20*60+17

脚本 N7.Q ,第7行:264017

原文地址:http://bbs.anjian.com/showtopic-701253-1.aspx

...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
按键精灵小Q
按键精灵小Q 按键精灵官方账号 按键精灵官方账号
按键精灵小Q 11 成员 188 内容