标题: VBS计算指定经纬度地区当天日落时间 [打印本页]
作者: batman 时间: 2013-9-8 23:54 标题: VBS计算指定经纬度地区当天日落时间
前言:
算法公式是foxjl从网上找来的,本人只是将这种算法用VBS实现而已,没有什么技术含量,也不敢妄称原创。
代码中的经度和纬度是本人所在地株洲市的,时区是东8区,大家可以修改这三个变量的值来计算各地的日落时间。- Dim JD, WD, Days, SunDown, TimeArea, X, ACOS, Arr, Today
- JD = 113.8 '经度,东为正西为负,我国都是东经
- WD = 27.55 '纬度,北为正南为负,我国都是北纬
- TimeArea = 8 '时区,东正西负,我国有东九、东八、东七、东六、东五五个时区
- TodAy = Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
- Days = DateDiff("d", Year(Now) & "-1-1 00:00:00", Now) + 1
- X = -TAN(-23.4*COS(2*3.14*(Days+9)/365)*3.14/180)*TAN(WD*3.14/180)
- ACOS = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
- SunDown = Round(24*(1+(TimeArea*15-JD)/180)-24*(180+TimeArea*15-JD-ACOS*180/3.14)/360, 2)
- Arr = Split(SunDown, ".")
- SunDown = Arr(0) & ":" & Int((0&"."&Int(Arr(1)))*60)
- WScript.Echo "本地" & Today & "的日落时间为:" & SunDown
复制代码
作者: foxJL 时间: 2013-9-9 10:16
我帮你把这个贴子移到原创区了。
谁敢说他写的所有算法都是自己原创的,况且我看过别人用其它高级语言写的代码,那都是成十上百行了,像你这么简洁的几乎没有。
作者: 1078292299 时间: 2021-2-24 10:04
那日出时间怎么加进去?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |