找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14819|回复: 2

VBS计算指定经纬度地区当天日落时间

[复制链接]
发表于 2013-9-8 23:54:45 | 显示全部楼层 |阅读模式
前言:
    算法公式是foxjl从网上找来的,本人只是将这种算法用VBS实现而已,没有什么技术含量,也不敢妄称原创。
    代码中的经度和纬度是本人所在地株洲市的,时区是东8区,大家可以修改这三个变量的值来计算各地的日落时间。

  1. Dim JD, WD, Days, SunDown, TimeArea, X, ACOS, Arr, Today
  2. JD = 113.8 '经度,东为正西为负,我国都是东经
  3. WD = 27.55 '纬度,北为正南为负,我国都是北纬
  4. TimeArea = 8 '时区,东正西负,我国有东九、东八、东七、东六、东五五个时区
  5. TodAy = Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
  6. Days = DateDiff("d", Year(Now) & "-1-1 00:00:00", Now) + 1
  7. X = -TAN(-23.4*COS(2*3.14*(Days+9)/365)*3.14/180)*TAN(WD*3.14/180)
  8. ACOS = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
  9. SunDown = Round(24*(1+(TimeArea*15-JD)/180)-24*(180+TimeArea*15-JD-ACOS*180/3.14)/360, 2)
  10. Arr = Split(SunDown, ".")
  11. SunDown = Arr(0) & ":" & Int((0&"."&Int(Arr(1)))*60)
  12. WScript.Echo "本地" & Today & "的日落时间为:" & SunDown
复制代码

评分

参与人数 2技术 +2 收起 理由
foxJL + 1 代码简洁
Batcher + 1 感谢分享

查看全部评分

发表于 2013-9-9 10:16:23 | 显示全部楼层
我帮你把这个贴子移到原创区了。
谁敢说他写的所有算法都是自己原创的,况且我看过别人用其它高级语言写的代码,那都是成十上百行了,像你这么简洁的几乎没有。
发表于 2021-2-24 10:04:55 | 显示全部楼层
那日出时间怎么加进去?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:11 , Processed in 0.018741 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表