2020/09/27

計算日出時間、日中時間、日落時間不求人


Calculate Your Own Sunrise, Transit, And Sunset Times


【摘要】
提供計算日出、日中、日落時間的程式,並說明使用方法。


【前言】

▪此處提供計算各地日出、日中、日落時間的程式。因本程式是依各地的座標來計算時刻,所以只要給予精確的經緯度,即使小地方的時刻也能算得出來,譬如某間學校、某地寺廟、某戶民宅等。


▪本程式可以計算的範圍是:

  • 年份:公元 ±3000 年之間
  • 經度:±180° 之間,東為正
  • 緯度:±72° 之間,北為正

  相信這個範圍應能滿足絕大部分人的需求。


▪如果不知道經緯度,可以用 Google 地圖Bing 地圖或類似的網站。找到目標地點後,將鼠標移至該處,Google 地圖是按左鍵,Bing 地圖是按右鍵,出現的方框中就有緯度和經度。

  【附錄】有台灣各縣市政府所在地的經緯度供大家參考。


▪本程式是在 Debian GNU/Linux 10 作業系統上,用 Apple 的 Swift 語言撰寫、編譯而成。一次輸出一整年的數據,秒數僅供參考


▪程式的使用方法:所提供的程式都是指令行程式,沒有圖形界面;請在程式所在的目錄開啟虛擬終端機(終端機模擬器),輸入檔名,直接執行。輸出檔也會在同一目錄。

  提醒:可能要用等寬字型才能顯示整齊的內容。


【程式介紹】

共提供四個程式,每個程式一開始都會詢問所需年份、和目標地點的經緯度與時區。

  • 年份請用公曆,正整數,如 2030
  • 地點的經緯度請用浮點數,也就是從 Google 或 Bing 地圖複製來的數據
  • 時區可用整數或浮點數,正數可以不加正號,如臺灣可用 8 或 +8.0,負數則必需有負號

提醒:中文習慣講「經緯度」,所以程式是先詢問「經度」,而 Google 或 Bing 地圖顯示的是「緯度」和「經度」,請不要輸入反了。

提醒:輸入值需合理,譬如輸入的經緯度是在台灣,時區應為 +8,若給其他值,甚至給負值,就會有錯。


solar-noon:輸出「日中」時間

  md5: 145d36b30a545968234e9cddb75d0943

  輸出檔名為:<年份>日中時刻_<經度>_<緯度>.txt;如:2020日中時刻_120.9_23.8.txt

  檔案內容為一大表格,每月一縱欄,橫列是日。範例見下面【樣本】一節。


sunrise-time:輸出「日出」時間

  md5: f6a0f1bca624880f3c2cf724dbd97fc7

  輸出檔名為:<年份>日出時刻_<經度>_<緯度>.txt;如:2020日出時刻_120.9_23.8.txt

  檔案內容為一大表格,每月一縱欄,橫列是日,類似日中時刻表。範例見下面【樣本】一節。


sunset-time:輸出「日落」時間

  md5: 42722f067a1d97818b8e8f0d039d80fe

  輸出檔名為:<年份>日落時刻_<經度>_<緯度>.txt;如:2020日落時刻_120.9_23.8.txt

  檔案內容為一大表格,每月一縱欄,橫列是日,類似日中時刻表。範例見下面【樣本】一節。


sun-rise-noon-set:輸出「日出、日中、日落」時間

  md5: fca52d057ec1dee25b234372797f4bc2

  輸出檔名為:<年份>_<經度>_<緯度>.txt;如:2020_120.9_23.8.txt

  檔案內容為一長表格,每日一橫列,列出日數、日期和三種時刻,少許範例如下:

公元2020年  經度=120.97388°  緯度=23.97565°  時區=8.0小時
 
日數   月/日       日出         日中         日落
001    01/01    06:38:42    11:59:02    17:19:21
002    01/02    06:39:01    11:59:30    17:19:59
003    01/03    06:39:18    11:59:58    17:20:38
004    01/04    06:39:34    12:00:26    17:21:18
005    01/05    06:39:49    12:00:53    17:21:58
006    01/06    06:40:02    12:01:20    17:22:38
007    01/07    06:40:14    12:01:47    17:23:19
008    01/08    06:40:25    12:02:13    17:24:01
009    01/09    06:40:34    12:02:39    17:24:43
010    01/10    06:40:42    12:03:04    17:25:25
下略

【樣本】公元2020年台灣地理中心日中時刻

公元2020年日中時刻    經度=120.97388°   緯度=23.97565°   時區=8.0小時
 
日\月   1        2        3        4        5        6        7        8        9       10       11       12   月/日
01  11:59:02 12:09:29 12:08:29 12:00:03 11:53:14 11:53:54 11:59:55 12:02:28 11:56:14 11:45:53 11:39:39 11:45:00  01
02  11:59:30 12:09:38 12:08:18 11:59:45 11:53:07 11:54:03 12:00:06 12:02:24 11:55:55 11:45:34 11:39:37 11:45:22  02
03  11:59:58 12:09:46 12:08:05 11:59:27 11:53:01 11:54:13 12:00:17 12:02:20 11:55:35 11:45:15 11:39:37 11:45:46  03
04  12:00:26 12:09:53 12:07:52 11:59:10 11:52:55 11:54:23 12:00:28 12:02:15 11:55:16 11:44:56 11:39:37 11:46:09  04
05  12:00:53 12:09:59 12:07:39 11:58:53 11:52:50 11:54:33 12:00:39 12:02:09 11:54:56 11:44:38 11:39:38 11:46:34  05
06  12:01:20 12:10:05 12:07:25 11:58:36 11:52:45 11:54:44 12:00:49 12:02:03 11:54:36 11:44:20 11:39:40 11:46:59  06
07  12:01:47 12:10:09 12:07:11 11:58:19 11:52:41 11:54:55 12:00:59 12:01:56 11:54:15 11:44:02 11:39:43 11:47:24  07
08  12:02:13 12:10:13 12:06:56 11:58:02 11:52:37 11:55:06 12:01:09 12:01:48 11:53:55 11:43:45 11:39:46 11:47:50  08
09  12:02:39 12:10:16 12:06:42 11:57:45 11:52:34 11:55:18 12:01:18 12:01:40 11:53:34 11:43:28 11:39:51 11:48:17  09
10  12:03:04 12:10:18 12:06:26 11:57:29 11:52:31 11:55:29 12:01:27 12:01:31 11:53:13 11:43:11 11:39:56 11:48:44  10
11  12:03:28 12:10:19 12:06:11 11:57:13 11:52:29 11:55:42 12:01:35 12:01:22 11:52:52 11:42:55 11:40:02 11:49:11  11
12  12:03:53 12:10:20 12:05:55 11:56:58 11:52:28 11:55:54 12:01:43 12:01:12 11:52:31 11:42:40 11:40:09 11:49:39  12
13  12:04:16 12:10:20 12:05:39 11:56:42 11:52:27 11:56:06 12:01:50 12:01:02 11:52:10 11:42:25 11:40:17 11:50:07  13
14  12:04:39 12:10:19 12:05:22 11:56:27 11:52:27 11:56:19 12:01:57 12:00:51 11:51:49 11:42:10 11:40:26 11:50:35  14
15  12:05:01 12:10:17 12:05:05 11:56:13 11:52:27 11:56:31 12:02:03 12:00:40 11:51:28 11:41:56 11:40:36 11:51:04  15
16  12:05:23 12:10:15 12:04:48 11:55:58 11:52:28 11:56:44 12:02:09 12:00:28 11:51:06 11:41:43 11:40:46 11:51:33  16
17  12:05:44 12:10:11 12:04:31 11:55:44 11:52:30 11:56:57 12:02:15 12:00:15 11:50:45 11:41:30 11:40:57 11:52:02  17
18  12:06:04 12:10:07 12:04:14 11:55:31 11:52:32 11:57:10 12:02:20 12:00:02 11:50:23 11:41:18 11:41:10 11:52:31  18
19  12:06:24 12:10:03 12:03:56 11:55:18 11:52:34 11:57:23 12:02:24 11:59:49 11:50:02 11:41:06 11:41:23 11:53:01  19
20  12:06:43 12:09:57 12:03:39 11:55:05 11:52:37 11:57:36 12:02:28 11:59:35 11:49:41 11:40:55 11:41:36 11:53:30  20
21  12:07:01 12:09:51 12:03:21 11:54:52 11:52:41 11:57:49 12:02:31 11:59:20 11:49:19 11:40:45 11:41:51 11:54:00  21
22  12:07:18 12:09:45 12:03:03 11:54:40 11:52:45 11:58:02 12:02:34 11:59:05 11:48:58 11:40:35 11:42:07 11:54:30  22
23  12:07:35 12:09:37 12:02:45 11:54:29 11:52:50 11:58:15 12:02:36 11:58:50 11:48:37 11:40:26 11:42:23 11:54:59  23
24  12:07:51 12:09:29 12:02:27 11:54:18 11:52:55 11:58:28 12:02:37 11:58:34 11:48:16 11:40:18 11:42:40 11:55:29  24
25  12:08:06 12:09:21 12:02:09 11:54:07 11:53:01 11:58:41 12:02:38 11:58:18 11:47:55 11:40:11 11:42:58 11:55:59  25
26  12:08:20 12:09:12 12:01:51 11:53:57 11:53:07 11:58:54 12:02:39 11:58:01 11:47:34 11:40:04 11:43:16 11:56:29  26
27  12:08:34 12:09:02 12:01:33 11:53:48 11:53:13 11:59:06 12:02:38 11:57:44 11:47:14 11:39:58 11:43:35 11:56:58  27
28  12:08:47 12:08:52 12:01:15 11:53:39 11:53:21 11:59:19 12:02:38 11:57:27 11:46:53 11:39:52 11:43:55 11:57:27  28
29  12:08:59 12:08:41 12:00:57 11:53:30 11:53:28 11:59:31 12:02:36 11:57:09 11:46:33 11:39:48 11:44:16 11:57:57  29
30  12:09:10          12:00:39 11:53:22 11:53:36 11:59:43 12:02:34 11:56:51 11:46:13 11:39:44 11:44:38 11:58:26  30
31  12:09:20          12:00:21          11:53:45          12:02:31 11:56:32          11:39:41          11:58:54  31

【附錄】

縣市政府等地之經緯度(依緯度漸增排序)

地  點 經 度 緯  度
高雄市 120.312 22.621
屏東縣 120.488 22.683
台東縣 121.150 22.755
台南市 120.185 22.992
嘉義縣 120.293 23.459
嘉義市 120.454 23.481
澎湖縣 119.566 23.569
雲林縣 120.526 23.699
南投縣 120.690 23.903
台灣心 120.974 23.976
花蓮縣 121.620 23.991
彰化縣 120.545 24.075
台中市 120.647 24.162
金門縣 118.319 24.437
苗栗縣 120.820 24.565
宜蘭縣 121.763 24.731
新竹市 120.969 24.807
新竹縣 121.013 24.827
桃園市 121.301 24.993
新北市 121.465 25.013
台北市 121.565 25.037
基隆市 121.744 25.132
連江縣 119.952 26.158

沒有留言:

張貼留言