2013-07-22 7 views
5

मैं लुआ में एक आवेदन लिख रहा हूं जो सूर्यास्त/सूर्योदय की गणना करता है, और ऐसा करने के लिए मुझे ग्रेगोरियन तिथि को प्रारंभ में जूलियन दिनों में परिवर्तित करना था और सभी जटिल गणित और वहां से ऐसा करना था ।जूलियन तिथि को ग्रेगोरियन तिथि में कनवर्ट करें

मैंने कठिन गणित पूरा कर लिया है, लेकिन अब मुझे जूलियन दिनांक (2456495.6833865 उदाहरण के रूप में) को एक ग्रेगोरियन में परिवर्तित करने की आवश्यकता है, उस समय के साथ पूरा करें। एकमात्र कोड जो मैंने पाया है, ऐसा कर सकता है केवल दिन, वर्ष और महीना है, लेकिन उस समय का कोई उल्लेख नहीं है (जो मुझे लगता है कि दिन के एक अंश के रूप में व्यक्त किया जाता है, इस मामले में दशमलव बिंदु के बाद संख्या)

किसी भी मदद की बहुत सराहना की जाएगी - नीचे दी गई वेबसाइट कार्यक्षमता है, लेकिन मैं किसी भी कोड या इसे करने के तरीके खोजने के नहीं कर सकते:

http://ssd.jpl.nasa.gov/tc.cgi#top

धन्यवाद फिर से,

पंचवर्षीय योजना।

उत्तर

7

This answer यूनिक्स टाइमस्टैम्प से जूलियन तिथि में कनवर्ट करने का तरीका दिखाता है। इस तरह आप लुआ में ऐसा होता है:

local julian = (os.time()/86400) + 2440587.5 
print(julian) 
-- 2456496.1647338 

और इसलिए है कि यह कैसे आप दूसरी दिशा में परिवर्तित होता है:

print((julian - 2440587.5) * 86400)) 
-- 1374508633 

फिर आप का उपयोग कर एक तारीख और समय में इस परिवर्तित कर सकते हैं os.date()

संबंधित मुद्दे