Elixir 1.7 - Calendar

कैलेंडर व्यवहार




elixir

कैलेंडर व्यवहार

यह मॉड्यूल एलिक्सिर में कैलेंडर, दिनांक, समय और डेटाइम के साथ काम करने के लिए जिम्मेदारियों को परिभाषित करता है।

वर्तमान में यह अमृत में एक कैलेंडर व्यवहार के लिए प्रकार और न्यूनतम कार्यान्वयन को परिभाषित करता है। Elixir में कैलेंडर सुविधाओं का लक्ष्य पूर्ण विशेषताओं वाले डेटाटाइम API के बजाय इंटरऑपरेबिलिटी के लिए एक आधार प्रदान करना है।

वास्तविक दिनांक, समय और NaiveDateTime संरचनाओं के लिए, Date , Time , NaiveDateTime और DateTime

ध्यान दें कि वर्ष, माह, दिन, आदि पदनामों की 1..12 की 1..12 (अर्थात महीनों के लिए 1..12 बजाय एक पूर्णांक) क्योंकि अलग-अलग कैलेंडर में प्रति माह, प्रति वर्ष महीने और इत्यादि की एक अलग संख्या हो सकती है।

सारांश

प्रकार

calendar()

एक कैलेंडर कार्यान्वयन

date()

कोई भी मानचित्र / संरचना जिसमें दिनांक फ़ील्ड शामिल हैं

datetime()

कोई भी नक्शा / संरचना जिसमें डेटाइम फ़ील्ड शामिल हैं

day()
day_fraction()

कैलेंडर के बीच परिवर्तित करते समय आंतरिक समय प्रारूप का उपयोग किया जाता है

hour()
iso_days()

आंतरिक तिथि प्रारूप जो कैलेंडर के बीच परिवर्तित करते समय उपयोग किया जाता है

microsecond()

संग्रहीत परिशुद्धता के साथ माइक्रोसेकंड

minute()
month()
naive_datetime()

कोई भी नक्शा / संरचना जिसमें भोले-भाले क्षेत्र शामिल हैं

second()
std_offset()

समय क्षेत्र मानक सेकंड में भरपाई करता है (ग्रीष्म काल में शून्य नहीं)

time()

कोई भी मानचित्र / संरचना जिसमें समय क्षेत्र होते हैं

time_zone()

आईएएनए tz डेटाबेस के अनुसार टाइम ज़ोन आईडी (जैसे यूरोप / ज्यूरिख)

utc_offset()

समय क्षेत्र UTC सेकंडों में ऑफ़सेट हो जाता है

year()
zone_abbr()

समय क्षेत्र का संक्षिप्त नाम (जैसे CET या CEST या BST आदि)

कार्य

संगत_ कैलेंडर (कैलेंडर, कैलेंडर)

true अगर दो कैलेंडर एक नया दिन शुरू करने का एक ही क्षण है, तो false है

ट्रंकट (माइक्रोसेकंड_टुपल, परमाणु)

किसी दिए गए परिशुद्धता के लिए छोटा किया गया एक माइक्रोसेकंड टपल लौटाता है ( :microsecond , :millisecond :second )

कॉलबैक

date_to_string (वर्ष, माह, दिन)

कैलेंडर के अनुसार दिनांक को स्ट्रिंग में परिवर्तित करता है

datetime_to_string (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, microsecond, time_zone, zone_abbr, utc_offset, std_offset)

कैलेंडर के अनुसार डेटाइम (समय क्षेत्र के साथ) को एक स्ट्रिंग में परिवर्तित करता है

day_of_week (वर्ष, माह, दिन)

दिए गए year , month और day से सप्ताह के दिन की गणना करता day

day_rollover_relative_to_midnight_utc()

दिए गए कैलेंडर के लिए रोलओवर क्षण को परिभाषित करें

days_in_month (वर्ष, माह)

दिए गए वर्ष-महीने में कितने दिन मिलते हैं

leap_year?(year)

यदि दिया गया वर्ष true तो वह वर्ष है

months_in_year(year)

दिए गए वर्ष में कितने महीने मिलते हैं

naive_datetime_from_iso_days(iso_days)

कैलेंडर के iso_days() प्रारूप में iso_days() को रूपांतरित करता है

naive_datetime_to_iso_days (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, माइक्रोसेकंड)

दिए गए iso_days() (समय क्षेत्र के साथ) को iso_days() प्रारूप में iso_days() करता है

naive_datetime_to_string (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, माइक्रोसेकंड)

कैलेंडर के अनुसार डेटाइम (समय क्षेत्र के बिना) को एक स्ट्रिंग में परिवर्तित करता है

time_from_day_fraction(day_fraction)

कैलेंडर के समय प्रारूप में day_fraction() को रूपांतरित करता है

time_to_day_fraction (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

दिए गए समय को day_fraction() प्रारूप में day_fraction() करता है

time_to_string (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

कैलेंडर के अनुसार समय को स्ट्रिंग में परिवर्तित करता है

मान्य_डेट (वर्ष, माह, दिन)

यदि दी गई तारीख कैलेंडर में उचित तारीख का वर्णन करती true तो true लौटना चाहिए

मान्य_ समय? (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

यदि कैलेंडर में दिए गए उचित समय का वर्णन किया गया true तो true लौटना चाहिए

प्रकार

कैलेंडर ()

calendar() :: module()

एक कैलेंडर कार्यान्वयन

दिनांक()

date() :: %{
  optional(any()) => any(),
  :calendar => calendar(),
  :year => year(),
  :month => month(),
  :day => day()
}

कोई भी मानचित्र / संरचना जिसमें दिनांक फ़ील्ड शामिल हैं

दिनांक समय()

datetime() :: %{
  optional(any()) => any(),
  :calendar => calendar(),
  :year => year(),
  :month => month(),
  :day => day(),
  :hour => hour(),
  :minute => minute(),
  :second => second(),
  :microsecond => microsecond(),
  :time_zone => time_zone(),
  :zone_abbr => zone_abbr(),
  :utc_offset => utc_offset(),
  :std_offset => std_offset()
}

कोई भी नक्शा / संरचना जिसमें डेटाइम फ़ील्ड शामिल हैं

दिन ()

day() :: integer()

day_fraction ()

day_fraction() ::
  {parts_in_day :: non_neg_integer(), parts_per_day :: pos_integer()}

कैलेंडर के बीच परिवर्तित करते समय आंतरिक समय प्रारूप का उपयोग किया जाता है।

यह एक दिन के अंश के रूप में समय का प्रतिनिधित्व करता है (आधी रात से शुरू)। parts_in_day निर्दिष्ट करता है कि दिन का कितना समय पहले ही बीत चुका है, जबकि parts_per_day यह दर्शाता है कि एक दिन में कितने भाग फिट होते हैं।

घंटा ()

hour() :: integer()

iso_days ()

iso_days() :: {days :: integer(), day_fraction()}

आंतरिक तिथि प्रारूप जो कैलेंडर के बीच परिवर्तित करते समय उपयोग किया जाता है।

यह भिन्नात्मक भाग सहित दिनों की संख्या है जो 0000-01-01 + 00: 00T00: 00.00000 के बाद से आईएसओ 8601 संकेतन में (प्रलयकालीन ग्रेगोरियन कैलेंडर के मध्यरात्रि 1 जनवरी ईसा पूर्व 1 के रूप में भी जाना जाता है) के बाद से है।

parts_per_day प्रतिनिधित्व करते हैं कि वर्तमान दिन कितने उप-भागों में विभाजित है (अलग-अलग कैलेंडर के लिए, अलग-अलग parts_per_day को चुनने parts_per_day समझ में parts_per_day सकता है)। parts_in_day यह parts_in_day है कि अंतिम दिन में इनमें से कितने parts_per_day पास हुए हैं।

माइक्रोसेकंड ()

microsecond() :: {0..999_999, 0..6}

संग्रहीत परिशुद्धता के साथ माइक्रोसेकंड।

सूक्ष्म अंकों को बाहरी प्रारूप में प्रस्तुत करते समय सटीक अंक का उपयोग किया जाता है। यदि परिशुद्धता 0 है, तो इसका मतलब है कि माइक्रोसेकंड को छोड़ दिया जाना चाहिए।

मिनट ()

minute() :: integer()

महीना()

month() :: integer()

naive_datetime ()

naive_datetime() :: %{
  optional(any()) => any(),
  :calendar => calendar(),
  :year => year(),
  :month => month(),
  :day => day(),
  :hour => hour(),
  :minute => minute(),
  :second => second(),
  :microsecond => microsecond()
}

कोई भी नक्शा / संरचना जिसमें भोले-भाले क्षेत्र शामिल हैं

दूसरा()

second() :: integer()

std_offset ()

std_offset() :: integer()

समय क्षेत्र मानक सेकंड में भरपाई करता है (ग्रीष्म काल में शून्य नहीं)

पहर()

time() :: %{
  optional(any()) => any(),
  :hour => hour(),
  :minute => minute(),
  :second => second(),
  :microsecond => microsecond()
}

कोई भी मानचित्र / संरचना जिसमें समय क्षेत्र होते हैं

समय क्षेत्र()

time_zone() :: String.t()

आईएएनए tz डेटाबेस के अनुसार टाइम ज़ोन आईडी (जैसे यूरोप / ज्यूरिख)

utc_offset ()

utc_offset() :: integer()

समय क्षेत्र UTC सेकंडों में ऑफ़सेट हो जाता है

साल()

year() :: integer()

zone_abbr ()

zone_abbr() :: String.t()

समय क्षेत्र का संक्षिप्त नाम (जैसे CET या CEST या BST आदि)

कार्य

संगत_कालेंडर (कैलेंडर, कैलेंडर) (1.5.0 के बाद से)

compatible_calendars?(Calendar.calendar(), Calendar.calendar()) :: boolean()

true अगर दो कैलेंडर एक नया दिन शुरू करने का एक ही क्षण है, तो false है।

यदि दो कैलेंडर संगत नहीं हैं, तो हम केवल डेटासेट और उनके बीच के समय को परिवर्तित कर सकते हैं। यदि वे संगत हैं, तो इसका मतलब है कि हम तिथियों के साथ-साथ उनके बीच भोली डेटासेट भी बदल सकते हैं।

truncate (microsecond_tuple, परमाणु) (1.6.0 के बाद से)

truncate(Calendar.microsecond(), :microsecond | :millisecond | :second) ::
  Calendar.microsecond()

किसी दिए गए सटीक (( :microsecond :millisecond or :second ) के लिए छोटा किया गया एक माइक्रोसेकंड टपल लौटाता है।

कॉलबैक

date_to_string (वर्ष, माह, दिन)

date_to_string(year(), month(), day()) :: String.t()

कैलेंडर के अनुसार दिनांक को स्ट्रिंग में परिवर्तित करता है।

datetime_to_string (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, microsecond, time_zone, zone_abbr, utc_offset, std_offset)

datetime_to_string(
  year(),
  month(),
  day(),
  hour(),
  minute(),
  second(),
  microsecond(),
  time_zone(),
  zone_abbr(),
  utc_offset(),
  std_offset()
) :: String.t()

कैलेंडर के अनुसार डेटाइम (समय क्षेत्र के साथ) को एक स्ट्रिंग में परिवर्तित करता है।

day_of_week (वर्ष, माह, दिन)

day_of_week(year(), month(), day()) :: non_neg_integer()

दिए गए year , month और day से सप्ताह के दिन की गणना करता day

day_rollover_relative_to_midnight_utc ()

day_rollover_relative_to_midnight_utc() :: day_fraction()

दिए गए कैलेंडर के लिए रोलओवर क्षण को परिभाषित करें।

यह वह क्षण होता है, जब आपके कैलेंडर में, वर्तमान दिन समाप्त होता है और अगले दिन शुरू होता है।

इस फ़ंक्शन के परिणाम का उपयोग यह जांचने के लिए किया जाता है कि क्या दिन के एक ही समय में दो कैलेंडर रोलओवर करते हैं। यदि वे नहीं करते हैं, तो हम उनके बीच केवल डेटेटाइम और समय बदल सकते हैं। यदि वे ऐसा करते हैं, तो इसका मतलब है कि हम तिथियों के साथ-साथ उनके बीच भोली डेटासेट भी बदल सकते हैं।

तुलनात्मक रूप से तेज़ बनाने के लिए यह दिन अंश अपने सबसे सरल रूप में संभव होना चाहिए।

उदाहरण

  • यदि, आपके कैलेंडर में, एक नया दिन आधी रात को शुरू होता है, तो {0, 1} वापस करें।
  • यदि, आपके कैलेंडर में, एक नया दिन सूर्योदय से शुरू होता है, तो {1, 4} वापस करें।
  • यदि, आपके कैलेंडर में, दोपहर में एक नया दिन शुरू होता है, तो {1, 2} वापस करें।
  • यदि, आपके कैलेंडर में, सूर्यास्त पर एक नया दिन शुरू होता है, तो {3, 4} वापस करें।

days_in_month (वर्ष, माह)

days_in_month(year(), month()) :: day()

दिए गए वर्ष-महीने में कितने दिन मिलते हैं।

leap_year? (वर्ष)

leap_year?(year()) :: boolean()

यदि दिया गया वर्ष true तो वह वर्ष है।

एक लीप वर्ष सामान्य से अधिक लंबी लंबाई का वर्ष होता है। सटीक अर्थ कैलेंडर तक है। यदि यह लीप वर्ष की अवधारणा का समर्थन नहीं करता है तो एक कैलेंडर को false लौटना चाहिए।

months_in_year (वर्ष)

months_in_year(year()) :: month()

दिए गए वर्ष में कितने महीने मिलते हैं।

naive_datetime_from_iso_days (iso_days)

naive_datetime_from_iso_days(iso_days()) ::
  {year(), month(), day(), hour(), minute(), second(), microsecond()}

कैलेंडर के iso_days() प्रारूप में iso_days() को रूपांतरित करता है।

naive_datetime_to_iso_days (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, माइक्रोसेकंड)

naive_datetime_to_iso_days(
  year(),
  month(),
  day(),
  hour(),
  minute(),
  second(),
  microsecond()
) :: iso_days()

दिए गए iso_days() (समय क्षेत्र के साथ) को iso_days() प्रारूप में iso_days() करता है।

naive_datetime_to_string (वर्ष, महीना, दिन, घंटा, मिनट, दूसरा, माइक्रोसेकंड)

naive_datetime_to_string(
  year(),
  month(),
  day(),
  hour(),
  minute(),
  second(),
  microsecond()
) :: String.t()

कैलेंडर के अनुसार डेटाइम (समय क्षेत्र के बिना) को एक स्ट्रिंग में परिवर्तित करता है।

time_from_day_fraction (day_fraction)

time_from_day_fraction(day_fraction()) ::
  {hour(), minute(), second(), microsecond()}

कैलेंडर के समय प्रारूप में day_fraction() को रूपांतरित करता है।

time_to_day_fraction (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

time_to_day_fraction(hour(), minute(), second(), microsecond()) ::
  day_fraction()

दिए गए समय को day_fraction() प्रारूप में day_fraction() करता है।

time_to_string (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

time_to_string(hour(), minute(), second(), microsecond()) :: String.t()

कैलेंडर के अनुसार समय को स्ट्रिंग में परिवर्तित करता है।

मान्य_डेट (वर्ष, माह, दिन)

valid_date?(year(), month(), day()) :: boolean()

यदि दी गई तारीख कैलेंडर में उचित तारीख का वर्णन करती true तो true लौटना चाहिए।

मान्य_ समय? (घंटे, मिनट, दूसरा, माइक्रोसेकंड)

valid_time?(hour(), minute(), second(), microsecond()) :: boolean()

यदि कैलेंडर में दिए गए उचित समय का वर्णन किया गया true तो true लौटना चाहिए।