खोज…


परिचय

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 पैरामीटर में आपूर्ति नहीं की जाती है, तो स्थानीय टाइमज़ोन का उपयोग किया जाता है।

समय क्षेत्र

तिथि-समय अंकगणित

समय जोड़ने / घटाने के लिए, 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



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow