R Language
दिनांक-समय की कक्षाएं (POSIXct और POSIXlt)
खोज…
परिचय
R में दो दिनांक-समय की कक्षाएं शामिल हैं - POSIXct और POSIXlt - see ?DateTimeClasses
।
टिप्पणियों
नुकसान
POSIXct के साथ, मध्यरात्रि केवल दिनांक और समय क्षेत्र प्रदर्शित करेगा, हालांकि पूरा समय अभी भी संग्रहीत है।
संबंधित विषय
विशेष पैकेज
- lubridate
दिनांक-समय ऑब्जेक्ट्स स्वरूपण और मुद्रण
# test date-time object options(digits.secs = 3) d = as.POSIXct("2016-08-30 14:18:30.58", tz = "UTC") format(d,"%S") # 00-61 Second as integer ## [1] "30" format(d,"%OS") # 00-60.99… Second as fractional ## [1] "30.579" format(d,"%M") # 00-59 Minute ## [1] "18" format(d,"%H") # 00-23 Hours ## [1] "14" format(d,"%I") # 01-12 Hours ## [1] "02" format(d,"%p") # AM/PM Indicator ## [1] "PM" format(d,"%z") # Signed offset ## [1] "+0000" format(d,"%Z") # Time Zone Abbreviation ## [1] "UTC"
देखें; ?strptime
प्रारूप पर विवरण के लिए स्ट्रिंग्स यहाँ, साथ ही अन्य प्रारूप।
तारीख-समय की वस्तुओं में तार लगाना
POSIXct और POSIXlt में एक स्ट्रिंग को पार्स करने के लिए कार्य समान पैरामीटर लेते हैं और एक समान दिखने वाला परिणाम लौटाते हैं, लेकिन इस बात में अंतर होता है कि उस दिनांक-समय को कैसे संग्रहीत किया जाता है; देखें "रिमार्क्स।"
as.POSIXct("11:38", # time string
format = "%H:%M") # formatting string
## [1] "2016-07-21 11:38:00 CDT"
strptime("11:38", # identical, but makes a POSIXlt object
format = "%H:%M")
## [1] "2016-07-21 11:38:00 CDT"
as.POSIXct("11 AM",
format = "%I %p")
## [1] "2016-07-21 11:00:00 CDT"
ध्यान दें कि दिनांक और समयक्षेत्र अधिरोपित हैं।
as.POSIXct("11:38:22", # time string without timezone
format = "%H:%M:%S",
tz = "America/New_York") # set time zone
## [1] "2016-07-21 11:38:22 EDT"
as.POSIXct("2016-07-21 00:00:00",
format = "%F %T") # shortcut tokens for "%Y-%m-%d" and "%H:%M:%S"
देखें ?strptime
प्रारूप तार यहां पर जानकारी के लिए।
टिप्पणियाँ
अनुपलब्ध तत्व
- यदि एक तिथि तत्व की आपूर्ति नहीं की जाती है, तो वह वर्तमान तिथि से उपयोग की जाती है।
- यदि एक समय तत्व की आपूर्ति नहीं की जाती है, तो वह मध्यरात्रि से उपयोग किया जाता है, अर्थात 0 एस।
- यदि कोई टाइमज़ोन या तो स्ट्रिंग या
tz
पैरामीटर में आपूर्ति नहीं की जाती है, तो स्थानीय टाइमज़ोन का उपयोग किया जाता है।
समय क्षेत्र
-
tz
स्वीकृत मूल्य स्थान पर निर्भर करते हैं।-
CST
को"CST6CDT"
या"America/Chicago"
-
- समर्थित स्थानों और समय क्षेत्रों के लिए:
- आर में:
OlsonNames()
- वैकल्पिक रूप से, आर में प्रयास करें:
system("cat $R_HOME/share/zoneinfo/zone.tab")
- आर में:
- ये स्थान इंटरनेट असाइनमेंट नंबर प्राधिकरण (IANA) द्वारा दिए गए हैं
तिथि-समय अंकगणित
समय जोड़ने / घटाने के लिए, POSIXct का उपयोग करें, क्योंकि यह सेकंड में कई बार संग्रहीत होता है
## adding/subtracting times - 60 seconds
as.POSIXct("2016-01-01") + 60
# [1] "2016-01-01 00:01:00 AEDT"
## adding 3 hours, 14 minutes, 15 seconds
as.POSIXct("2016-01-01") + ( (3 * 60 * 60) + (14 * 60) + 15)
# [1] "2016-01-01 03:14:15 AEDT"
औपचारिक रूप से, as.difftime
का उपयोग समय अवधि को किसी तिथि या डेटाटाइम ऑब्जेक्ट में जोड़ने के लिए निर्दिष्ट करने के लिए किया जा सकता है। उदाहरण के लिए:
as.POSIXct("2016-01-01") +
as.difftime(3, units="hours") +
as.difftime(14, units="mins") +
as.difftime(15, units="secs")
# [1] "2016-01-01 03:14:15 AEDT"
तिथियों के बीच के अंतर को खोजने के लिए / बार उपयोग difftime()
सेकंड, मिनट, घंटे, दिन या सप्ताह में मतभेद के लिए।
# using POSIXct objects
difftime(
as.POSIXct("2016-01-01 12:00:00"),
as.POSIXct("2016-01-01 11:59:59"),
unit = "secs")
# Time difference of 1 secs
दिनांक-समय के अनुक्रम उत्पन्न करने के लिए seq.POSIXt()
या बस seq
।