Leap year problem
லீப் இயர் சிக்கல் (லீப் இயர் பிழை அல்லது லீப் டே பிழை என்றும் அழைக்கப்படுகிறது) என்பது டிஜிட்டல் (கணினி தொடர்பான) மற்றும் டிஜிட்டல் அல்லாத ஆவணங்கள் மற்றும் தரவு சேமிப்பு சூழ்நிலைகள் ஆகிய இரண்டிற்கும் ஒரு சிக்கலாகும், இது எந்த ஆண்டுகள் லீப் ஆண்டுகள் என்பதைக் கணக்கிடுவதில் பிழைகள் அல்லது லீப் ஆண்டுகள் மற்றும் பொதுவான ஆண்டுகளுக்கு இடையிலான வேறுபாட்டைப் பொருட்படுத்தாமல் தேதிகளைக் கையாளுவதன் விளைவாகும். வகைகள் லீப் ஆண்டு பிழைகள் பொதுவாக நிஜ உலக பயன்பாட்டில் அவை ஏற்படுத்தக்கூடிய தாக்கத்தின் அளவை அடிப்படையாகக் கொண்டு இரண்டு பிரிவுகளாகப் பிரிக்கப்படுகின்றனஃ விதிவிலக்குகள், பிழை திரும்பக் குறியீடுகள், தொடங்கப்படாத மாறிகள் அல்லது முடிவற்ற சுழல்கள் போன்ற பிழை நிலைமைகளுக்கு வழிவகுக்கும் பிழைகள் அவை தவறான தரவுகளுக்கு வழிவகுக்கும், அதாவது வரம்பு வினவல்கள் அல்லது திரட்டல் எடுத்துக்காட்டுகளில் ஆஃப்-பை-ஒன் சிக்கல்கள் பைதான் பின்வரும் பைதான் குறியீடு ஒரு வகை 1 லீப் ஆண்டு பிழையின் எடுத்துக்காட்டு. இன்று பிப்ரவரி 29 ஆகும் வரை இது சரியாக வேலை செய்யும். பின்னர், அது இல்லாத ஒரு பொதுவான ஆண்டின் பிப்ரவரி 29 ஐ உருவாக்க முயற்சிக்கும். தேதி கட்டமைப்பாளர் "நாள் மாதத்திற்கு வரம்பிற்கு வெளியே உள்ளது" என்ற செய்தியுடன் ஒரு மதிப்பு பிழையை எழுப்பும். இன்றைய தேதி நேர இறக்குமதி தேதியிலிருந்து = date.today () பின்னர் = today.replace (ஆண்டு = today.year + 1) விண்டோஸ் சி + + பின்வரும் விண்டோஸ் சி + + குறியீடு ஒரு வகை 1 லீப் ஆண்டு பிழையின் எடுத்துக்காட்டு. தற்போதைய தேதி ஒரு லீப் ஆண்டின் பிப்ரவரி 29 ஆக மாறும் வரை இது சரியாக செயல்படும். பின்னர், இது ஒரு பொதுவான ஆண்டின் பிப்ரவரி 29 ஐக் குறிக்கும் வகையில் மாற்றப்படும், இது உண்மையில் இல்லாத தேதி. ஒரு SYSTEMTIME கட்டமைப்பை ஒரு அளவுருவாக ஏற்றுக்கொள்ளும் எந்தவொரு செயல்பாட்டிற்கும் ST ஐ அனுப்புவது தோல்வியடையும். எடுத்துக்காட்டாக, இங்கே காட்டப்பட்டுள்ள சிஸ்டம் டைம் டூ ஃபைல் டைம் அழைப்பு ஒரு பிழைக் குறியீட்டைத் தரும். அந்த திரும்ப மதிப்பு சரிபார்க்கப்படாததால் (இது மிகவும் பொதுவானது), இதன் விளைவாக ft தொடங்கப்படாமல் விடப்படும். சிஸ்டெம்டைம் ஸ்டே; ஃபைலிடைம் அடி; கெட் சிஸ்டெம்டைம் (& ஸ்டே); st.wYear + +; சிஸ்டெம்டைம் டூ ஃபைலிடைம் (& ஸ்டே, & அடி); மைக்ரோசாப்ட் சி #பின்வரும். நெட் சி #குறியீடு வகை 1 லீப் ஆண்டு பிழையின் ஒரு எடுத்துக்காட்டு. இது பிப்ரவரி 29 வரை சரியாக வேலை செய்யும். பின்னர், அது இல்லாத ஒரு பொதுவான ஆண்டின் பிப்ரவரி 29 ஐ உருவாக்க முயற்சிக்கும். டேட்ட்டைம் கட்டமைப்பாளர் ஒரு ArgumentOutOfRangeExஸேப்ஷனை வீசுவார். டேட்ட்டைம் dt = DateTime.Now; டேட்ட்டைம் ரிசல்ட் = புதிய டேட்ட்டைம் (dt.Year + 1, dt.Month, dt.Day); ஜாவாஸ்கிரிப்ட் பின்வரும் ஜாவாஸ்கிரிப்ட் குறியீடு வகை 2 லீப் ஆண்டு பிழையின் ஒரு எடுத்துக்காட்டு. இது 2020-02-29 இல் உள்ளதைப் போல பிப்ரவரி 29 வரை சரியாக வேலை செய்யும். பின்னர் அது 2021 ஆம் ஆண்டை அமைக்க முயற்சிக்கும். 2021-02-29 இல்லாததால், தேதி பொருள் அடுத்த செல்லுபடியாகும் தேதிக்கு முன்னோக்கி சுழலும், இது 2021-03-01. வர் dt = புதிய தேதி (); dt.setFullYear (dt.getFullYear () + 1); மோசமான லீப் ஆண்டு வழிமுறை (பல மொழிகள்) பின்வரும் குறியீடு பல மொழிகளில் காணப்படும் ஒரு லீப் ஆண்டு பிழையின் எடுத்துக்காட்டு ஆகும். முடிவு எதற்குப் பயன்படுத்தப்படுகிறது என்பதைப் பொறுத்து, இது ஒரு வகை 1 அல்லது வகை 2 தாக்கத்தை ஏற்படுத்தலாம். ஒரு லீப் ஆண்டு சரியாக ஒவ்வொரு நான்கு வருடங்களுக்கும் நிகழ்கிறது என்று அது தவறாக கருதுகிறது. பூல் லீப் இயர் = ஆண்டு% 4 = = 0; சரியான லீப் இயர் வழிமுறை லீப் இயர் வழிமுறையில் விளக்கப்பட்டுள்ளது. மைக்ரோசாப்ட் எக்ஸெல் அதன் ஆரம்ப பதிப்புகளிலிருந்து, 1900 ஐ ஒரு லீப் ஆண்டு என்று தவறாக கருதுகிறது, எனவே பிப்ரவரி 29 அந்த ஆண்டின் பிப்ரவரி 28 முதல் மார்ச் 1 வரை வருகிறது. இந்த பிழை லோட்டஸ் 1-2-3 இல் இருந்து உருவானது, மேலும் பின்தங்கிய பொருந்தக்கூடிய நோக்கத்திற்காக எக்செல் இல் வேண்டுமென்றே செயல்படுத்தப்பட்டது. மைக்ரோசாப்ட் இந்த பிழையைப் பற்றி ஒரு கட்டுரையை எழுதியுள்ளது, 1900 ஐ ஒரு லீப் ஆண்டாகக் கருதுவதற்கான காரணங்களை விளக்குகிறது. இந்த பிழை ஈக்மா ஆபிஸ் ஓபன் எக்ஸ்எம்எல் (ஓஓஎக்ஸ்எம்எல்) விவரக்குறிப்பில் ஒரு தேவையாக ஊக்குவிக்கப்பட்டுள்ளது. 1996 ஆம் ஆண்டில், டிசம்பர் 31 அன்று, நியூசிலாந்தின் திவாய் பாயிண்ட் மற்றும் ஆஸ்திரேலியாவின் டாஸ்மேனியாவில் உள்ள பெல் பே ஆகிய இரண்டு அலுமினிய உருகுதல் ஆலைகளில், உருகுதல் பாட்ட்லைன்களைக் கட்டுப்படுத்தும் 660 கணினிகளில் ஒவ்வொன்றும் நள்ளிரவில் மூடப்பட்டன, ஏனெனில் கணினிகள் ஆண்டின் 366 வது நாளைக் கையாள திட்டமிடப்படவில்லை. பழுதுபார்க்கும் செலவுகள் அதை விட அதிகமாக மதிப்பிடப்பட்டன. 2000 ஆம் ஆண்டில், டிசம்பர் 31 அன்று, நோர்வேயில் தேசிய இரயில் பாதை நிறுவனமான வை, அதன் 29 புதிய சிக்னடுர் ரயில்களும் இயங்கத் தவறியதைக் கண்டறிந்தது, ஏனெனில் அவற்றின் உள் கணினிகள் தேதியை ஆண்டின் 366 வது நாளாக அங்கீகரிக்கவில்லை. ஒரு இடைக்கால நடவடிக்கையாக, பொறியாளர்கள் தங்கள் கடிகாரங்களை ஒரு மாதத்திற்குள் மீட்டமைப்பதன் மூலம் ரயில்களை மறுதொடக்கம் செய்தனர். டிசம்பர் 31,2008 அன்று நள்ளிரவில், பல முதல் தலைமுறை ஜூன் 30 மாடல்கள் உறைந்தன. ஃப்ரீஸ்கேல் எழுதிய உள் கடிகார இயக்கி மற்றும் சாதனம் ஒரு லீப் ஆண்டைக் கையாளும் விதம் காரணமாக இந்த சிக்கல் ஏற்பட்டதாக மைக்ரோசாப்ட் கூறியது. 24 மணி நேரத்திற்குப் பிறகு அது தானாகவே சரிசெய்யப்பட்டது, ஆனால் காத்திருக்க விரும்பாதவர்களுக்கு ஒரு இடைநிலை "பிழைத்திருத்தம்" சாதனத்தின் பேட்டரியை வடிகட்டி, பின்னர் ஜனவரி 1,2009 அன்று மதியம் யுடிசி-க்குப் பிறகு ரீசார்ஜ் செய்வதாகும். சோனியின் பிளேஸ்டேஷன் 3 2010 ஐ ஒரு லீப் ஆண்டு என்று தவறாக கருதியது, எனவே இல்லாத பிப்ரவரி 29,2010, மார்ச் 1,2010 அன்று காட்டப்பட்டது, மேலும் நிரல் பிழையை ஏற்படுத்தியது. 2012 ஆம் ஆண்டில், மார்ச் 31 அன்று முதன்முதலில் வெளிவந்த லீப் இயர் பிழை காரணமாக டாம்டாம் செயற்கைக்கோள் வழிசெலுத்தல் சாதனங்கள் செயலிழந்தன. 2012 ஆம் ஆண்டில், ஜிமெயிலின் அரட்டை வரலாறு டிசம்பர் 31,1969 தேதியைக் காட்டியது, பிப்ரவரி 29 அன்று சேமிக்கப்பட்ட அனைத்து அரட்டைகளுக்கும். 2012 ஆம் ஆண்டில், மைக்ரோசாப்ட் அஸூர் பிப்ரவரி 28 அன்று லீப் இயர் பிழையால் ஆஃப்லைனில் எடுக்கப்பட்டது. மாலை 5.45 மணிக்கு விண்டோஸ் அஸூர் குழு ஒரு சிக்கலைப் பற்றி அறிந்தது, வெளிப்படையாக லீப் ஆண்டிற்கான தவறான நேரக் கணக்கீட்டின் காரணமாக. 2016 ஆம் ஆண்டில், கோட் ஆஃப் மேட் என்ற இணையதளத்தில் 2016 லீப் டே பக்ஸ் பட்டியலில் ஏராளமான லீப் ஆண்டு பிழைகள் பட்டியலிடப்பட்டன. 2016 ஆம் ஆண்டில், பிப்ரவரி 29 அன்று டுசெல்டோர்ஃப் விமான நிலையத்தில் லக்கேஜ் கன்வேயர் அமைப்பில் ஒரு லீப் இயர் பிழை 1,200 க்கும் மேற்பட்ட சாமான்களை தங்கள் விமானங்களை இழக்கச் செய்தது. 2020 ஆம் ஆண்டில் கோட் ஆஃப் மேட் என்ற இணையதளத்தில் 2020 லீப் டே பக்ஸ் பட்டியலில் ஏராளமான லீப் ஆண்டு பிழைகள் பட்டியலிடப்பட்டன. மேலும் காண்க நேரம் வடிவமைத்தல் மற்றும் சேமிப்பு பிழைகள் ஆண்டு 2100 சிக்கல் குறிப்புகள் நேரம் வடிவமைத்தல் மற்றும் சேமிப்பு பிழைகள் காலெண்டர்கள் மென்பொருள் பிழைகள் தொழில்நுட்ப அபாயங்கள்