วันจูเลียน
วันจูเลียน (Julian day หรือ Julian date) หรือ หรคุณจูเลียน[ม 1] บ้างเรียก จำนวนวันจูเลียน หรือ เลขวันจูเลียน (Julian day number) หมายถึง หมายเลขประจำวันซึ่งเริ่มนับเลขวัน 0 ตั้งแต่วันจันทร์ที่ 1 มกราคม ก่อนคริสต์ศักราช 4713 ปี (ค.ศ. -4712) ตามปฏิทินจูเลียน หรือวันที่ 22 พฤศจิกายน ก่อนคริสต์ศักราช 4714 ปี (ค.ศ. -4713) ตามปฏิทินก่อนเกรโกเรียน เวลา 12 นาฬิกาตรง จนถึงปัจจุบันหรือเวลาที่ต้องการ[1][2][3] เหตุที่กำหนดให้เริ่มวันที่ดังกล่าวนั้น เป็นเพราะต้องการให้ครอบคลุมถึงเหตุการณ์ทางประวัติศาสตร์ต่าง ๆ นอกจากการที่วันที่ดังกล่าวเป็นวันเริ่มวัฏจักรสิบห้าปี (indiction) วัฏจักรสุริยะ และวัฏจักรเมตอน ค่าวันจูเลียนหากคำนวณตามสูตรจากปฏิทินต่างระบบ หากเป็นวันที่เดียวกัน จะได้เลขเดียวกันเสมอไปไม่มีผิดเพี้ยน
ค่าวันจูเลียน ณ วันเวลาใด ๆ มีค่าเท่ากับค่าวันจูเลียน ลดลงเสีย 0.5 (เพราะนับที่เที่ยงวันเป็นหลักต้องถอยไปที่เที่ยงคืน) แล้วจึงเอาเวลาเป็นทศนิยมนับแต่เริ่มวันนั้นบวกเข้า[4] ยกตัวอย่างวันที่ 1 มกราคม พ.ศ. 2543 เวลา 0 นาฬิกา ค่าวันจูเลียนกำหนดที่ 2451544.5 และ ณ เวลา 12 นาฬิกา กำหนดที่ 2451545[5][6] อนึ่งเวลาที่ใช้นี้ ในอดีตใช้เวลามาตรฐานกรีนิชหรือเวลาปูมดาราศาสตร์ (ephemeris time) แต่ปัจจุบันแนะนำให้ใช้เวลาพื้นโลก (terrestrial time) เนื่องจากเวลามาตรฐานกรีนิชถือการหมุนรอบตัวของโลกเป็นหลักทำให้ไม่สม่ำเสมอ และบ่อยครั้งที่ต้องเติมอธิกวินาทีลงไปในเวลากรีนิชด้วย
ยุคจูเลียน เป็นช่วงเวลาทั้งสิ้น 7980 ปี นับปีแรกที่ก่อนคริสต์ศักราช 4713 ปี[7]
ในภาษาอังกฤษมีการใช้ Julian date เรียกสิ่งอื่นด้วยนอกเหนือจากค่าวันหรือลำดับวัน อาทิ ลำดับวันในหนึ่งปีนับแต่วันที่ 1 มกราคมสำหรับใช้ในการโปรแกรมคอมพิวเตอร์ การบริหารรัฐกิจ การทหาร และอุตสาหกรรมอาหาร[8] และวันที่ในปฏิทินจูเลียน
วิธีการคำนวณค่าวันจูเลียน ณ เที่ยงวัน จากวันที่
แก้ขั้นตอนที่แสดงต่อไปนี้เป็นขั้นตอนสำหรับการคำนวณค่าวันจูเลียนจากวันที่ ปีที่ใช้ในการคำนวณให้ใช้คริสต์ศักราช (ไม่ใช่พุทธศักราช ซึ่งแปลงให้เป็นคริสต์ศักราชได้โดยเอา 543 ลบ) และให้นับอย่างนักดาราศาสตร์และโหราศาสตร์ ไม่ใช่อย่างนักประวัติศาสตร์ คือ ก่อนคริสต์ศักราช 100 ปี แบบนักประวัติศาสตร์ ตรงกับคริสต์ศักราช -99 แบบนักดาราศาสตร์ อีกนัยหนึ่งคือ ถ้ามีเอกสารสำคัญทางประวัติศาสตร์ระบุปีมา ให้ลดลง 1 แล้วใส่เครื่องหมายลบ ส่วนเดือนที่ใช้ในการคำนวณ นับ 1 ที่เดือนมกราคม นับ 2 ที่เดือนกุมภาพันธ์ ไปจนถึง 12 ที่เดือนธันวาคม
วันที่ในปฏิทินเกรโกเรียน
แก้ขั้นตอนวิธีต่อไปนี้ใช้ได้กับวันที่ในปฏิทินเกรโกเรียนและปฏิทินก่อนเกรโกเรียน นับแต่วันที่ 23 พฤศจิกายน ค.ศ. -4713[9]
JDN = FLOOR(1461*(Y+4800+FLOOR((M-14)/12))/4)+FLOOR((367*(M-2-12*FLOOR((M-14)/12) ))/12)-FLOOR(3*FLOOR((Y+4900+FLOOR((M-14)/12))/100,1)/4)+D-32077
โดยที่ FLOOR(x) คือ function ในการปัดเศษลง
Y ,M , D คือ ปี (ตามค.ศ.) เดือน และวันในเดือน ตามลำดับ
อีกวิธีหนึ่ง ให้ดำเนินการตามขั้นตอนต่อไปนี้[10]
- ถ้าเดือนน้อยกว่าหรือเท่ากับ 2 (คือ มกราคม และกุมภาพันธ์; M <= 2) ทำขั้นตอนต่อไปนี้
- ลดปีลงเสีย 1 (Y = Y - 1)
- บวกเดือนขึ้น 12 (M = M + 12)
- คำนวณเกณฑ์ต่อไปนี้: A = ปัดลง(Y/100)
- 2 - A + ปัดลง(A/4)
- JDN = ปัดลง(365.25 × (Y + 4716)) + ปัดลง(30.6001 × (M+1)) + D + B - 1525
ตัวอย่างการคำนวณ
แก้วันที่ 8 เดือนตุลาคม พ.ศ. 2567 หรือ ค.ศ. 2024 คำนวณได้ดังนี้ Y = 2024, M = 10, D = 8
วิธีที่ 1
แก้- JDN = ปัดลง((1461 × (2024 + 4800 + ปัดลง( (10 − 14) / 12 ) )) / 4) = 2492100
- + ปัดลง( (367 × (10 − 2 − 12 × ปัดลง( (10 − 14) / 12) )) / 12) = + 611
- − ปัดลง( 3 × (ปัดลง ( (2024 + 4900 + ปัดลง( (10 − 14) / 12 ) ) / 100 ) )/4) = − 51
- + 8 − 32076 = + -32069
ดังนั้น JDN = 2460591
วิธีที่ 2
แก้- M มากกว่าหรือเท่ากับ 3 คง M ไว้ตามเดิม
- M มากกว่าหรือเท่ากับ 3 คง Y ไว้ตามเดิม
- A = ปัดลง(2024/100) = 20
- B = 2 − A + ปัดลง(168/4) = -13
- JDN = ปัดลง(365.25 × (2024 + 4716)) + ปัดลง(30.6001 × (10+1)) + 8 + (-13) - 1525 = 2460592
วันที่ในปฏิทินจูเลียน
แก้ขั้นตอนวิธีต่อไปนี้ใช้ได้กับวันที่ในปฏิทินจูเลียน นับแต่ ค.ศ. -4712 เป็นต้นมา[11]
JDN = 367 × Y − (7 × (Y + 5001 + (M − 9)/7))/4 + (275 × M)/9 + D + 1729776
การคำนวณค่าวันจูเลียน ณ เวลาอื่นนอกเหนือจาก 12 นาฬิกา
แก้ค่าวันจูเลียนที่คิดเศษเวลา ณ เวลาอื่น ๆ นั้น คำนวณโดยใช้ใช้ความเข้าใจที่ว่า ค่าวันจูเลียนวัด ณ 12 นาฬิกา มีหน่วยเป็นวันเต็ม แต่เศษเวลาน้อยกว่า 1 วันเสมอไป ถ้าเวลาอยู่หลังเที่ยงวัน ก็ให้ทำให้เป็นเศษทศนิยมเอามาบวกกับค่าวันนั้นได้เลย แต่ถ้าเวลาอยู่ก่อนเที่ยงวัน ให้ลดค่าวันนั้นลงเสีย 0.5 แล้วเอาเศษเวลาบวก อีกวิธีหนึ่งคือใช้สูตรดังต่อไปนี้ กำหนด hour, minutes, second แทนชั่วโมง นาที วินาที ตามลำดับ จะได้
ถ้าชั่วโมงน้อยกว่า 12 สูตรจะลดค่าวันลงมา แต่ถ้าชั่วโมงมากกว่า 12 สูตรจะเพิ่มค่าวันขึ้นไป ตัวอย่างเช่น วันที่ 1 มกราคม พ.ศ. 2543 เวลา 18 นาฬิกา ตรงกับ JD = 2451545.25
ถ้าเวลานั้นอยู่เลยเที่ยงคืนไป ให้บวก JDN ขึ้น 1 คือเปลี่ยนไปใช้วันถัดไป พจน์ hour-12 จะติดลบเอง
การคำนวณวันในสัปดาห์จากค่าวันจูเลียน
แก้เมื่อมีค่าวันจูเลียน ณ เวลาเที่ยงวันของวันใด จะคำนวณเป็นวันในสัปดาห์ ให้เอา 1 บวก แล้วเอา 7 หาร เศษเท่าใดพิจารณาตามตารางข้างล่าง หรือเขียนเป็นสมการคณิตศาสตร์ได้ว่า
W1 (เศษการหาร) | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
วันในสัปดาห์ | อาทิตย์ (อา/อ) | จันทร์ (จ) | อังคาร (อ/ภ) | พุธ (พ/ว) | พฤหัสบดี (พฤ/ช) | ศุกร์ (ศ) | เสาร์ (ส) |
ถ้าค่าวันนั้นติดเศษทศนิยมมากกว่า 0.5 แสดงว่าเวลาเลยเที่ยงคืนขึ้นวันใหม่แล้วให้ปัดขึ้น แต่ถ้าน้อยกว่า แสดงว่าเวลาเพิ่งเลยเที่ยงมา ให้ปัดลงก่อนการคำนวณ
การคำนวณวันที่ในปฏิทินจูเลียนหรือเกรโกเรียนจากค่าวันจูเลียน
แก้ขั้นตอนต่อไปนี้ใช้แปลงค่าวันจูเลียนเปํนวันที่ในปฏิทินเกรโกเรียนหรือก่อนเกรโกเรียน ใช้ได้กับค่าวัน 0 หรือมากกว่า[13][14] ตัวแปรทุกตัวเป็นจำนวนเต็มทั้งหมด หากมีเศษตัดทิ้ง
ตัวดำเนินการ ปัดลง(ตัวเลข) หมายถึงผลหารที่อยู่ในวงเล็บเมื่อคำนวณแล้วให้ยกเศษทศนิยมออก ตรงกับฟังก์ชัน floor ในภาษาโปรแกรมบางภาษา (อาทิ จาวาสคริปต์ ลูอา แมตแลบ) ส่วนตัวดำเนินการ เศษ(a,b คือการหารเอาเศษ เมื่อ a และ b แทนตัวตั้งและตัวหารตามลำดับ ตรงกับ mod หรือ fmod
ขั้นตอนวิธี
แก้ตัวแปร | ค่า | ตัวแปร | ค่า |
---|---|---|---|
y | 4716 | v | 3 |
j | 1401 | u | 5 |
m | 2 | s | 153 |
n | 12 | w | 2 |
r | 4 | B | 274277 |
p | 1461 | C | −38 |
สำหรับปฏิทินจูเลียน:
- 1. f = J + j
สำหรับปฏิทินเกรโกเรียน:
- 1. f = J + j + ปัดลง((ปัดลง((4 × J + B) / 146097) × 3) / 4) + C
คำนวณ f แล้ว ทำต่อดังนี้:
- 2. e = r × f + v
- 3. g = ปัดลง(เศษ(e, p) / r)
- 4. h = u × g + w
- 5. D = ปัดลง((เศษ(h, s)) / u) + 1
- 6. M = เศษ(ปัดลง(h / s) + m, n) + 1
- 7. Y = ปัดลง(e / p) - y + ปัดลง((n + m - M) / n)
กำหนดให้ D, M, และ Y แทนวันที่ ลำดับเดือน และปีตามลำดับ
ตัวอย่างการคำนวณ
แก้ค่าวันจูเลียน 2460592 แปลงกลับคืนเป็นวันที่ในปฏิทินเกรโกเรียนได้ตามขั้นตอนต่อไปนี้
- 1. f = 2460592 + 1401 + ปัดลง((ปัดลง((4*2460592 + 274277) / 146097)*3) / 4) -38 = 2462006
- 2. e = 4 × f + 3 = 4*2462006 + 3 = 9848027
- 3. g = ปัดลง(เศษ(e, 1461) / 4) = ปัดลง(เศษ(9848027, 1461) / 4) = 221
- 4. h = 5 × g + 2 = 5 × 221 + 2 = 1107
- 5. D = ปัดลง((เศษ(h, 153)) / 5) + 1 = ปัดลง((เศษ(1107, 153)) / 5) + 1 = 8
- 6. M = เศษ(ปัดลง(h / 153) + 2, 12) + 1 = เศษ(ปัดลง(1107 / 153) + 2, 12) + 1 = 10
- 7. Y = ปัดลง(e / 1461) - 4716 + ปัดลง((12 + 2 - M) / 12) = ปัดลง(9848027 / 1461) - 4716 + ปัดลง((12 + 2 - 10) / 12) = 2024
สรุปผลการคำนวณ วันที่ 8 เดือน 10 (ตุลาคม) ค.ศ. 2024 (พ.ศ. 2567)
อ้างอิงและหมายเหตุ
แก้หมายเหตุ
แก้- ↑ ตามคัมภีร์สุริยยาตร์และมานัต คำว่า หรคุณ หมายถึง ลำดับวันซึ่งนับจากวันที่คงตัวมาจนถึงปัจจุบัน เช่น วันที่ 24 มีนาคม พ.ศ. 1181 (วันสถาปนาจุลศักราช) โดยไม่ขาดสาย จึงอาจปรับใช้คำว่า หรคุณ ในบริบทนี้โดยถูกต้องและไม่ผิดเพี้ยน โดยเรียกว่าหรคุณจูเลียน เช่นเดียวกับการปรับคำว่า ดิถี ซึ่งเป็นวันที่ทางจันทรคติเข้ากับปรากฏการณ์ขึ้นและแรมของดวงจันทร์
เชิงอรรถ
แก้- ↑ Dershowitz & Reingold 2008, 15.
- ↑ Seidelman 2013, 15.
- ↑ "Astronomical Almanac Online" 2016, Glossary, s.v. Julian date. Various timescales may be used with Julian date, such as Terrestrial Time (TT) or Universal Time (UT); in precise work the timescale should be specified.
- ↑ "Resolution B1" 1997.
- ↑ US Naval Observatory
- ↑ McCarthy & Guinot 2013, 91–2, 2005
- ↑ จาก Astronomical Almanac for the year 2017 หน้า B4 ระบุว่าปี พ.ศ. 2567 ตรงกับปี 6737 6730 ของยุคจูเลียน
- ↑ USDA c. 1963.
- ↑ L. E. Doggett, Ch. 12, "Calendars", p. 604, in Seidelmann 1992
- ↑ Meeus, Jean (1998). Astronomical Algorithms. Richmond, VA: Willman Bell. pp. 60–61.
- ↑ L. E. Doggett, Ch. 12, "Calendars", p. 606, in Seidelmann 1992
- ↑ Richards 2013, pp. 592, 618.
- ↑ Richards 2013, 617–9
- ↑ Richards 1998, 316
บรรณานุกรม
แก้- Astronomical almanac for the year 2001. (2000). U.S. Nautical Almanac Office and Her Majesty's Nautical Almanac Office. ISBN 9780117728431.
- Astronomical almanac for the year 2017. (2016). U.S. Naval Observatory and Her Majesty's Nautical Almanac Office. ISBN 978-0-7077-41666.
- Astronomical Almanac Online เก็บถาวร 2016-12-24 ที่ เวย์แบ็กแมชชีน. (2016). U.S. Nautical Almanac Office and Her Majesty's Nautical Almanac Office.
- Chi, A. R. (December 1979). "A Grouped Binary Time Code for Telemetry and Space Application" (NASA Technical Memorandum 80606). Retrieved from NASA Technical Reports Server April 24, 2015.
- "CS 1063 Introduction to Programming: Explanation of Julian Day Number Calculation." เก็บถาวร 2020-12-03 ที่ เวย์แบ็กแมชชีน (2011). Computer Science Department, University of Texas at San Antonio.
- Dershowitz, N. & Reingold, E. M. (2008). Calendrical Calculations 3rd ed. Cambridge University Press. ISBN 978-0-521-70238-6.
- Digital Equipment Corporation. Why is Wednesday, November 17, 1858, the base time for VAX/VMS? Modified Julian Day explanation
- IBM 2004. "CEEDATE—convert Lilian date to character format". COBOL for AIX (2.0): Programming Guide.
- Information Bulletin No. 81. (January 1998). International Astronomical Union.
- Julian Date Converter เก็บถาวร 2007-10-06 ที่ เวย์แบ็กแมชชีน (March 20, 2013). US Naval Observatory. Retrieved September 16, 2013.
- Kempler, Steve. (2011). Day of Year Calendar. Goddard Earth Sciences Data and Information Services Center.
- McCarthy, D. & Guinot, B. (2013). Time. In S. E. Urban & P. K. Seidelmann, eds. Explanatory Supplement to the Astronomical Almanac, 3rd ed. (pp. 76–104). Mill Valley, Calif.: University Science Books. ISBN 978-1-89138-985-6
- Meeus Jean. Astronomical Algorithms (1998), 2nd ed, ISBN 0-943396-61-1
- Moyer, Gordon. (April 1981). "The Origin of the Julian Day System," Sky and Telescope 61 311−313.
- Noerdlinger, P. (April 1995 revised May 1996). Metadata Issues in the EOSDIS Science Data Processing Tools for Time Transformations and Geolocation เก็บถาวร 2020-09-28 ที่ เวย์แบ็กแมชชีน. NASA Goddard Space Flight Center.
- Ohms, B. G. (1986). Computer processing of dates outside the twentieth century. IBM Systems Journal 25, 244–251. doi:10.1147/sj.252.0244
- Pallé, Pere L., Esteban, Cesar. (2014). Asteroseismology, p. 185, Cambridge University Press, ISBN 9781107470620
- Ransom, D. H. Jr. (c. 1988) ASTROCLK Astronomical Clock and Celestial Tracking Program pages 69–143, "Dates and the Gregorian calendar" pages 106–111. Retrieved September 10, 2009.
- "Resolution B1". (1997). XXIIIrd General Assembly (Kyoto, Japan). International Astronomical Union, p. 7.
- Richards, E. G. (2013). Calendars. In S. E. Urban & P. K. Seidelmann, eds. Explanatory Supplement to the Astronomical Almanac, 3rd ed. (pp. 585–624). Mill Valley, Calif.: University Science Books. ISBN 978-1-89138-985-6
- Richards, E. G. (1998). Mapping Time: The Calendar and its History. Oxford University Press. ISBN 978-0192862051
- USDA. (c. 1963). Julian date calendar].
- US Naval Observatory. (2005, last updated July 2, 2011). Multiyear Interactive Computer Almanac 1800–2050 (ver. 2.2.2). Richmond VA: Willmann-Bell, ISBN 0-943396-84-0.
- Winkler, M. R. (n. d.). "Modified Julian Date". US Naval Observatory. Retrieved April 24, 2015.