วันจูเลียส

**วันจูเลียส** () บ้างเรียก **เลขวันจูเลียส** (Julian day number) หรือ **หรคุณจูเลียส** หมายถึง เลขรหัสประจำวัน นับ 0 ณ วันจันทร์ที่  1 มกราคม ก่อนคริสต์ศักราช 4713 ปี (ค.ศ. -4712) ตามปฏิทินจูเลียส หรือวันที่ 22 พฤศจิกายน ก่อนคริสต์ศักราช 4714 ปี (ค.ศ. -4713) ตามปฏิทินก่อนเกรกอรี เวลา 12 นาฬิกาตรง จนถึงปัจจุบันหรือเวลาที่ต้องการ ค่าวันจูเลียสเมื่อคำนวณจากปฏิทินไม่ว่ารูปแบบใด ๆ หากเป็นวันเดียวกันจะต้องได้ค่าเดียวกันเสมอไม่มีผิด เหตุที่กำหนดให้เริ่มวันที่ดังกล่าวนั้น เป็นเพราะต้องการให้ครอบคลุมถึงเหตุการณ์ทางประวัติศาสตร์ต่าง ๆ นอกจากการที่วันที่ดังกล่าวเป็นวันเริ่มวัฏจักรสิบห้าปี (indiction) วัฏจักรสุริยะ และวัฏจักรเมตอน ค่าวันจูเลียสหากคำนวณตามสูตรจากปฏิทินต่างระบบ หากเป็นวันที่เดียวกัน จะได้เลขเดียวกันเสมอไปไม่มีผิดเพี้ยน

วันจูเลียสมีประโยชน์ในหลายด้าน อาทิ ช่วยให้คำนวณเหตุการณ์ต่าง ๆ ที่แยกจากกัน อาทิ วันผลิตและวันหมดอายุของสินค้า อายุของบุคคลตั้งแต่เกิดจนถึงปัจจุบัน (เรียกว่า อายุชำระ) วันรับตัวและปล่อยตัวผู้ต้องขัง (กรณีกฎหมายกำหนดให้นับโทษเป็นวัน) วันเริ่มต้นและสิ้นสุดโครงการ (กรณีนับเป็นวัน) และอื่น ๆ โดยให้ตั้งวันจูเลียสของวันสิ้นสุด แล้วเอาวันจูเลียสของวันเริ่มต้นลบ ได้เท่าใดเอา 1 บวก ก็จะได้จำนวนวันตามความประสงค์ต่อไป เหตุผลที่บวก 1 เพราะว่าการลบปกติจะถือว่านับวันแรกเป็นวันที่ 0 นอกจากนี้ เหตุการณ์ทางดาราศาสตร์ต่าง ๆ ซึ่งเกิดขึ้นบนท้องฟ้า หากใช้วันที่ เดือน ปี ตามปกติเมื่อจะหาความสัมพันธ์ระหว่างกันก็จะเป็นความยากลำบากซับซ้อน ทำให้นักดาราศาสตร์และนักโหราศาสตร์ต้องแปลงตัวเลขจากวันที่ เดือน ปี ให้เป็นตัวเลขเดียวกันก่อนตามแบบของปฏิทิน ซึ่งจะมีแยกต่างกันออกไปไม่เหมือนกัน โดยนักดาราศาสตร์จะแปลงวันที่เป็นวันจูเลียสก่อน แล้วจึงนำไปคำนวณตามสูตรหรือนำไปปรับค่าความสัมพันธ์กับตัวแปรทางดาราศาสตร์ (อาทิ องศาปรากฎของดาวเคราะห์) ทำให้กระบวนการต่าง ๆ ง่ายกว่าการใช้วันที่ เดือน ปี ซึ่งมีสามตัวแปร

ค่าวันจูเลียส ณ วันเวลาใด ๆ มีค่าเท่ากับค่าวันจูเลียส ลดลงเสีย 0.5 (เพราะนับที่เที่ยงวันเป็นหลักต้องถอยไปที่เที่ยงคืน) แล้วจึงเอาเวลาเป็นทศนิยมนับแต่เริ่มวันนั้นบวกเข้า ยกตัวอย่างวันที่ 1 มกราคม พ.ศ. 2543 เวลา 0 นาฬิกา ค่าวันจูเลียสกำหนดที่ 2451544.5 และ ณ เวลา 12 นาฬิกา กำหนดที่ 2451545 อนึ่งเวลาที่ใช้นี้ ในอดีตใช้เวลามาตรฐานกรีนิชหรือเวลาปูมดาราศาสตร์ (ephemeris time) แต่ปัจจุบันแนะนำให้ใช้เวลาพื้นโลก (terrestrial time) เนื่องจากเวลามาตรฐานกรีนิชถือการหมุนรอบตัวของโลกเป็นหลักทำให้ไม่สม่ำเสมอ และบ่อยครั้งที่ต้องเติมอธิกวินาทีลงไปในเวลากรีนิชด้วย

## วิธีการคำนวณค่าวันจูเลียส ณ เที่ยงวัน จากวันที่
ขั้นตอนที่แสดงต่อไปนี้เป็นขั้นตอนสำหรับการคำนวณค่าวันจูเลียสจากวันที่ ปีที่ใช้ในการคำนวณให้ใช้คริสต์ศักราช (ไม่ใช่พุทธศักราช ซึ่งแปลงให้เป็นคริสต์ศักราชได้โดยเอา 543 ลบ) และให้นับอย่างนักดาราศาสตร์และโหราศาสตร์ ไม่ใช่อย่างนักประวัติศาสตร์ คือ ก่อนคริสต์ศักราช 100 ปี แบบนักประวัติศาสตร์ ตรงกับคริสต์ศักราช -99 แบบนักดาราศาสตร์ อีกนัยหนึ่งคือ ถ้ามีเอกสารสำคัญทางประวัติศาสตร์ระบุปีมา ให้ลดลง 1 แล้วใส่เครื่องหมายลบ ส่วนเดือนที่ใช้ในการคำนวณ นับ 1 ที่เดือนมกราคม นับ 2 ที่เดือนกุมภาพันธ์ ไปจนถึง 12 ที่เดือนธันวาคม 

### วันที่ในปฏิทินเกรกอรี
ขั้นตอนวิธีต่อไปนี้ใช้ได้กับวันที่ในปฏิทินเกรกอรีและปฏิทินก่อนเกรกอรี นับแต่วันที่ 23 พฤศจิกายน ค.ศ. -4713

**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 คือ ปี (ตามค.ศ.) เดือน และวันในเดือน ตามลำดับ

อีกวิธีหนึ่ง ให้ดำเนินการตามขั้นตอนต่อไปนี้
# ถ้าเดือนน้อยกว่าหรือเท่ากับ 2 (คือ มกราคม และกุมภาพันธ์; **M** \begin{matrix}J\!D & = & J\!D\!N + \frac{\text{hour} - 12}{24} + \frac{\text{minute}}{1440} + \frac{\text{second}}{86400}\end{matrix}

ถ้าชั่วโมงน้อยกว่า 12 สูตรจะลดค่าวันลงมา แต่ถ้าชั่วโมงมากกว่า 12 สูตรจะเพิ่มค่าวันขึ้นไป ตัวอย่างเช่น วันที่ 1 มกราคม พ.ศ. 2543 เวลา 18 นาฬิกา ตรงกับ  *JD* = 2451545.25

ถ้าเวลานั้นอยู่เลยเที่ยงคืนไป ให้บวก *JDN* ขึ้น 1 คือเปลี่ยนไปใช้วันถัดไป พจน์ hour-12 จะติดลบเอง

## การคำนวณวันในสัปดาห์จากค่าวันจูเลียส
เมื่อมีค่าวันจูเลียส ณ เวลาเที่ยงวันของวันใด จะคำนวณเป็นวันในสัปดาห์ ให้เอา 1 บวก แล้วเอา 7 หาร เศษเท่าใดพิจารณาตามตารางข้างล่าง หรือเขียนเป็นสมการคณิตศาสตร์ได้ว่า

**W1** = mod(*J* + 1, 7)

ถ้าค่าวันนั้นติดเศษทศนิยมมากกว่า 0.5 แสดงว่าเวลาเลยเที่ยงคืนขึ้นวันใหม่แล้วให้ปัดขึ้น แต่ถ้าน้อยกว่า แสดงว่าเวลาเพิ่งเลยเที่ยงมา ให้ปัดลงก่อนการคำนวณ

## การคำนวณวันที่ในปฏิทินจูเลียสหรือเกรกอรีจากค่าวันจูเลียส
ขั้นตอนต่อไปนี้ใช้แปลงค่าวันจูเลียสเป็นวันที่ในปฏิทินเกรกอรีหรือก่อนเกรกอรี ใช้ได้กับค่าวัน 0 หรือมากกว่า ตัวแปรทุกตัวเป็นจำนวนเต็มทั้งหมด หากมีเศษตัดทิ้ง 

ตัวดำเนินการ ปัดลง (ตัวเลข) หมายถึงผลหารที่อยู่ในวงเล็บเมื่อคำนวณแล้วให้ยกเศษทศนิยมออก ตรงกับฟังก์ชัน floor ในภาษาโปรแกรมบางภาษา (เช่น จาวาสคริปต์ ลูอา แมตแลบ) ส่วนตัวดำเนินการ เศษ (*a*,*b* คือการหารเอาเศษ เมื่อ a และ b แทนตัวตั้งและตัวหารตามลำดับ ตรงกับ mod หรือ fmod
### ขั้นตอนวิธี

สำหรับปฏิทินจูเลียส:
: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** แทนวันที่ ลำดับเดือน และปีตามลำดับ

### ตัวอย่างการคำนวณ
ค่าวันจูเลียส  แปลงกลับคืนเป็นวันที่ในปฏิทินเกรกอรีได้ตามขั้นตอนต่อไปนี้
:1. f = ***' + 1401 + ปัดลง((ปัดลง((4****' + 274277) / 146097)*3) / 4) -38 = 
:2. e = 4 × f + 3 = 4***' + 3 = 
:3. g = ปัดลง(เศษ(e, 1461) / 4) = ปัดลง(เศษ(**', 1461) / 4) = 
:4. h = 5 × g + 2 = 5 × **' + 2 = 
:5. **D** = ปัดลง((เศษ(h, 153)) / 5) + 1 = ปัดลง((เศษ(**', 153)) / 5) + 1 = 
:6. **M** = เศษ(ปัดลง(h / 153) + 2, 12) + 1 = เศษ(ปัดลง(**' / 153) + 2, 12) + 1 = 
:7. **Y** = ปัดลง(e / 1461) - 4716 + ปัดลง((12 + 2 - M) / 12) = ปัดลง(**' / 1461) - 4716 + ปัดลง((12 + 2 - **') / 12) = 
สรุปผลการคำนวณ วันที่  เดือน  () ค.ศ.   (พ.ศ. )

== อ้างอิงและหมายเหตุ ==
=== หมายเหตุ ===
<references group="ม"/>
=== เชิงอรรถ ===

=== บรรณานุกรม ===

* ''Astronomical almanac for the year 2001''. (2000). U.S. Nautical Almanac Office and [[HM Nautical Almanac Office|Her Majesty's Nautical Almanac Office]]. .
* ''Astronomical almanac for the year 2017''. (2016). U.S. Naval Observatory and [[HM Nautical Almanac Office|Her Majesty's Nautical Almanac Office]]. .
* [http://asa.usno.navy.mil/ ''Astronomical Almanac Online''] . (2016). U.S. Nautical Almanac Office and Her Majesty's Nautical Almanac Office.
*Chi, A. R. (December 1979). [https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19800007830.pdf "A Grouped Binary Time Code for Telemetry and Space Application"] (NASA Technical Memorandum 80606). Retrieved from NASA Technical Reports Server April 24, 2015.
* [http://www.cs.utsa.edu/~cs1063/projects/Spring2011/Project1/jdn-explanation.html "CS 1063 Introduction to Programming: Explanation of Julian Day Number Calculation."]  (2011). Computer Science Department, University of Texas at San Antonio.
* [[Nachum Dershowitz|Dershowitz, N.]] & [[Edward Reingold|Reingold, E. M.]] (2008). ''[https://web.archive.org/web/20080712061305/http://emr.cs.iit.edu/home/reingold/calendar-book/third-edition/ Calendrical Calculations]'' 3rd ed. Cambridge University Press.  .
* Digital Equipment Corporation. [http://www.slac.stanford.edu/~rkj/crazytime.txt Why is Wednesday, November 17, 1858, the base time for VAX/VMS?] Modified Julian Day explanation
* [[IBM]] 2004. [https://archive.today/20130803145359/http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.aix.cbl.doc/rpsrv06.htm "CEEDATE—convert Lilian date to character format"]. ''COBOL for AIX (2.0): Programming Guide''.
* [http://www.iau.org/static/publications/IB81.pdf ''Information Bulletin No. 81''] . (January 1998). International Astronomical Union.
* [http://aa.usno.navy.mil/data/docs/JulianDate.php ''Julian Date Converter'']  (March 20, 2013). US Naval Observatory. Retrieved September 16, 2013.
* Kempler, Steve. (2011). [https://web.archive.org/web/20120705121327/http://disc.gsfc.nasa.gov/julian_calendar.shtml Day of Year Calendar]. Goddard Earth Sciences Data and Information Services Center.
* [[Dennis McCarthy (scientist)|McCarthy, D.]] & Guinot, B. (2013). Time. In S. E. Urban & P. K. Seidelmann, eds. ''Explanatory Supplement to the Astronomical Almanac'', 3rd ed. (pp.&nbsp;76–104). Mill Valley, Calif.: University Science Books. 
* [[Jean Meeus|Meeus Jean]]. ''Astronomical Algorithms'' (1998), 2nd ed, 
* Moyer, Gordon. (April 1981). "The Origin of the Julian Day System," ''Sky and Telescope'' **61*' 311−313.
* Noerdlinger, P. (April 1995 revised May 1996). [http://observer.gsfc.nasa.gov/sec2/papers/noerdlinger2.html *Metadata Issues in the EOSDIS Science Data Processing Tools for Time Transformations and Geolocation*] . NASA [[Goddard Space Flight Center]].
* Ohms, B. G. (1986). [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5387720 Computer processing of dates outside the twentieth century]. *IBM Systems Journal* 25, 244–251. 
* Pallé, Pere L., Esteban, Cesar. (2014). *Asteroseismology*, p.&nbsp;185, Cambridge University Press, 
* Ransom, D. H. Jr. (c. 1988) [http://textfiles.meulie.net/computers/DOCUMENTATION/astroclk.dc2 *ASTROCLK Astronomical Clock and Celestial Tracking Program* pages 69–143], "Dates and the Gregorian calendar" pages 106–111. Retrieved September 10, 2009. 
* [http://www.iau.org/static/resolutions/IAU1997_French.pdf "Resolution B1"] . (1997). *XXIIIrd General Assembly* (Kyoto, Japan). International Astronomical Union, p.&nbsp;7.
* Richards, E. G. (2013). Calendars. In S. E. Urban & P. K. Seidelmann, eds. *Explanatory Supplement to the Astronomical Almanac*, 3rd ed. (pp.&nbsp;585–624). Mill Valley, Calif.: University Science Books. 
* Richards, E. G. (1998). *Mapping Time: The Calendar and its History*. Oxford University Press. 
*[[United States Department of Agriculture|USDA]]. (c. 1963). [http://www.dm.usda.gov/procurement/toolkit/docs/calendar.pdf  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, .
* Winkler, M. R. (n. d.). "Modified Julian Date" . US Naval Observatory. Retrieved April 24, 2015.

หมวดหมู่:ปฏิทิน
หมวดหมู่:กาลวิทยา
หมวดหมู่:กลศาสตร์ท้องฟ้า
หมวดหมู่:เวลาทางดาราศาสตร์