二十四節気とは
- 「国立国会図書館HP」より引用
今まで
- 2024年2月26日 二十四節気を追加
-
//======================================================================
// 今日が24節気かどうか調べる
// 引数 .... 計算対象となる年月日 year month day
// 戻り値 .... 24節気の名称
//======================================================================
func get24Sekki_bak(year:Double, month:Double,day:Double)-> (String ) {
let sekkiName = ["春分","清明","穀雨","立夏","小満","芒種","夏至","小暑","大暑","立秋","処暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至","小寒","大寒","立春","雨水","啓蟄"] // 24節気の定義
var JD: Double
var JD1: Double
var JD2: Double
var t: Double
var today: Int
//今日の太陽の黄経
JD = ymd2jd(yea: year, mont: month, ysDay: day) //ユリウス日の計算
JD1 = floor(JD) //時刻引数を分解する
JD2 = JD - JD1
JD2 -= 9.0 / 24.0
t = (JD2 + 0.5) / 36525.0
t = t + (JD1 - 2451545.0) / 36525.0
today = Int( LONGITUDE_SUN(t:t))
today = Int( 15.0 * floor( Double( today ) / 15.0 ))
return( sekkiName[ today/15 ] )
}
- 節気が変わるまで同じ節気を表示
-
改良
- 二十四節気の日は、節気名の頭に”*”を追加する。その後日からは、節気名のみとする
-
//======================================================================
// 今日が24節気かどうか調べる
// 引数 .... 計算対象となる年月日 year month day
// 戻り値 .... 24節気の名称
//======================================================================
func get24Sekki(year:Double, month:Double,day:Double)-> (String ) {
let sekkiName = ["春分","清明","穀雨","立夏","小満","芒種","夏至","小暑","大暑","立秋","処暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至","小寒","大寒","立春","雨水","啓蟄"] // 24節気の定義
var JD: Double
var JD1: Double
var JD2: Double
var t: Double
var today: Int
var tomorrow: Int
//今日の太陽の黄経
JD = ymd2jd(yea: year, mont: month, ysDay: day) //ユリウス日の計算
JD1 = floor(JD) //時刻引数を分解する
JD2 = JD - JD1
JD2 -= 9.0 / 24.0
t = (JD2 + 0.5) / 36525.0
t = t + (JD1 - 2451545.0) / 36525.0
today = Int( LONGITUDE_SUN(t:t))
//明日の太陽の黄経
JD += 1
JD1 = floor(JD) //時刻引数を分解する
JD2 = JD - JD1
JD2 -= 9.0 / 24.0
t = (JD2 + 0.5) / 36525.0
t = t + (JD1 - 2451545.0) / 36525.0
tomorrow = Int( LONGITUDE_SUN(t: t))
today = Int( 15.0 * floor( Double( today ) / 15.0 ))
tomorrow = Int( 15.0 * floor( Double( tomorrow) / 15.0))
if today != tomorrow {
return( "*" + sekkiName[ today/15 ] )
}else{
return( sekkiName[ today/15 ] )
}
}
-
ここまで読んでいただき、ありがとうございます