ਕੈਲੰਡਰ ਕੈਲਕੁਲੇਟਰ
ਕੈਲੰਡਰ ਕੈਲਕੂਲੇਟਰ
ਪਰੀਚਯ
ਕੈਲੰਡਰ ਕੈਲਕੂਲੇਟਰ ਇੱਕ ਬਹੁਤ ਹੀ ਲਚਕੀਲਾ ਟੂਲ ਹੈ ਜੋ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਕਰਨ ਲਈ ਡਿਜ਼ਾਇਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਦਿੱਤੀ ਗਈ ਤਾਰੀਖ ਤੋਂ ਸਮੇਂ ਦੇ ਇਕਾਈਆਂ (ਸਾਲ, ਮਹੀਨੇ, ਹਫਤੇ ਅਤੇ ਦਿਨ) ਨੂੰ ਜੋੜਨ ਜਾਂ ਘਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਕੈਲਕੂਲੇਟਰ ਪ੍ਰੋਜੈਕਟ ਦੀ ਯੋਜਨਾ ਬਣਾਉਣ, ਸਮਾਂ-ਸੂਚੀ ਬਣਾਉਣ ਅਤੇ ਵੱਖ-ਵੱਖ ਸਮੇਂ ਦੇ ਆਧਾਰ 'ਤੇ ਗਣਨਾਵਾਂ ਲਈ ਖਾਸ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ।
ਫਾਰਮੂਲਾ
ਕੈਲੰਡਰ ਕੈਲਕੂਲੇਟਰ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਲਈ ਹੇਠ ਲਿਖੇ ਅਲਗੋਰੀਦਮ ਦਾ ਉਪਯੋਗ ਕਰਦਾ ਹੈ:
-
ਸਾਲ ਜੋੜਨ/ਘਟਾਉਣ ਲਈ:
- ਦਿੱਤੀ ਗਈ ਤਾਰੀਖ ਦੇ ਸਾਲ ਦੇ ਭਾਗ ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਸੰਖਿਆ ਦੇ ਸਾਲ ਨੂੰ ਜੋੜੋ/ਘਟਾਓ।
- ਜੇ ਨਤੀਜਾ ਤਾਰੀਖ ਫ਼ਰਵਰੀ 29 ਹੈ ਅਤੇ ਨਵਾਂ ਸਾਲ ਲੀਪ ਸਾਲ ਨਹੀਂ ਹੈ, ਤਾਂ ਫ਼ਰਵਰੀ 28 'ਤੇ ਸਹੀ ਕਰੋ।
-
ਮਹੀਨੇ ਜੋੜਨ/ਘਟਾਉਣ ਲਈ:
- ਮਹੀਨੇ ਦੇ ਭਾਗ ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਸੰਖਿਆ ਦੇ ਮਹੀਨੇ ਨੂੰ ਜੋੜੋ/ਘਟਾਓ।
- ਜੇ ਨਤੀਜਾ ਮਹੀਨਾ 12 ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਸਾਲ ਨੂੰ ਵਧਾਓ ਅਤੇ ਮਹੀਨੇ ਨੂੰ ਉਸ ਅਨੁਸਾਰ ਸਹੀ ਕਰੋ।
- ਜੇ ਨਤੀਜਾ ਮਹੀਨਾ 1 ਤੋਂ ਘੱਟ ਹੈ, ਤਾਂ ਸਾਲ ਨੂੰ ਘਟਾਓ ਅਤੇ ਮਹੀਨੇ ਨੂੰ ਉਸ ਅਨੁਸਾਰ ਸਹੀ ਕਰੋ।
- ਜੇ ਨਤੀਜਾ ਤਾਰੀਖ ਮੌਜੂਦ ਨਹੀਂ ਹੈ (ਜਿਵੇਂ ਕਿ ਅਪ੍ਰੈਲ 31), ਤਾਂ ਮਹੀਨੇ ਦੇ ਆਖਰੀ ਦਿਨ 'ਤੇ ਸਹੀ ਕਰੋ।
-
ਹਫਤੇ ਜੋੜਨ/ਘਟਾਉਣ ਲਈ:
- ਹਫਤਿਆਂ ਨੂੰ ਦਿਨਾਂ ਵਿੱਚ ਬਦਲੋ (1 ਹਫਤਾ = 7 ਦਿਨ) ਅਤੇ ਦਿਨ ਦੀ ਗਣਨਾ ਨਾਲ ਅੱਗੇ ਵਧੋ।
-
ਦਿਨ ਜੋੜਨ/ਘਟਾਉਣ ਲਈ:
- ਦਿਨ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਅਧਾਰਭੂਤ ਤਾਰੀਖ ਦੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜੋ ਆਪਣੇ ਆਪ ਹੀ ਹੇਠ ਲਿਖੇ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ:
- ਲੀਪ ਸਾਲ
- ਮਹੀਨੇ ਦੀ ਬਦਲਾਅ
- ਸਾਲ ਦੀ ਬਦਲਾਅ
- ਦਿਨ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਅਧਾਰਭੂਤ ਤਾਰੀਖ ਦੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜੋ ਆਪਣੇ ਆਪ ਹੀ ਹੇਠ ਲਿਖੇ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ:
ਕਿਨਾਰੇ ਦੇ ਕੇਸ ਅਤੇ ਵਿਚਾਰ
-
ਲੀਪ ਸਾਲ: ਸਾਲ ਜੋੜਨ/ਘਟਾਉਣ ਵੇਲੇ ਫ਼ਰਵਰੀ 29 ਲਈ ਖਾਸ ਧਿਆਨ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਨਤੀਜਾ ਸਾਲ ਲੀਪ ਸਾਲ ਨਹੀਂ ਹੈ, ਤਾਂ ਤਾਰੀਖ ਨੂੰ ਫ਼ਰਵਰੀ 28 'ਤੇ ਸਹੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
-
ਮਹੀਨੇ ਦੇ ਅੰਤ ਦੀਆਂ ਤਾਰੀਖਾਂ: ਮਹੀਨੇ ਜੋੜਨ/ਘਟਾਉਣ ਵੇਲੇ, ਜੇ ਨਤੀਜਾ ਤਾਰੀਖ ਮੌਜੂਦ ਨਹੀਂ ਹੈ (ਜਿਵੇਂ ਕਿ ਅਪ੍ਰੈਲ 31), ਤਾਂ ਇਸ ਨੂੰ ਮਹੀਨੇ ਦੇ ਆਖਰੀ ਵੈਧ ਤਾਰੀਖ (ਜਿਵੇਂ ਕਿ ਅਪ੍ਰੈਲ 30) 'ਤੇ ਸਹੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
-
BCE/CE ਪਾਰਗਮਨ: ਕੈਲਕੂਲੇਟਰ BCE/CE ਪਾਰਗਮਨ ਦੇ ਪਾਰ ਤਾਰੀਖਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ, ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ ਕਿ ਗ੍ਰੇਗਰੀਅਨ ਕੈਲੰਡਰ ਵਿੱਚ ਕੋਈ ਸਾਲ 0 ਨਹੀਂ ਹੈ।
-
ਤਾਰੀਖ ਦੀਆਂ ਸੀਮਾਵਾਂ: ਕੈਲਕੂਲੇਟਰ ਅਧਾਰਭੂਤ ਤਾਰੀਖ ਪ੍ਰਣਾਲੀ ਦੀਆਂ ਸੀਮਾਵਾਂ ਦਾ ਆਦਰ ਕਰਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ 1 CE ਤੋਂ 31 ਦਿਸੰਬਰ 9999 CE ਤੱਕ।
ਵਰਤੋਂ ਦੇ ਕੇਸ
ਕੈਲੰਡਰ ਕੈਲਕੂਲੇਟਰ ਦੇ ਬਹੁਤ ਸਾਰੇ ਪ੍ਰਯੋਗਿਕ ਅਰਥ ਹਨ:
-
ਪ੍ਰੋਜੈਕਟ ਪ੍ਰਬੰਧਨ: ਪ੍ਰੋਜੈਕਟ ਦੀ ਮਿਆਦ, ਮੀਲ ਪੱਥਰ ਦੀਆਂ ਤਾਰੀਖਾਂ ਅਤੇ ਸਪ੍ਰਿੰਟ ਦੀਆਂ ਮਿਆਦਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਵਿੱਤੀ ਯੋਜਨਾ: ਭੁਗਤਾਨ ਦੀਆਂ ਮਿਆਦਾਂ, ਕਰਜ਼ੇ ਦੀਆਂ ਮਿਆਦਾਂ ਅਤੇ ਨਿਵੇਸ਼ ਦੀਆਂ ਮਿਆਦਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਸਮਾਰੋਹ ਦੀ ਯੋਜਨਾ: ਦੁਹਰਾਉਣ ਵਾਲੇ ਸਮਾਰੋਹਾਂ ਦੀਆਂ ਤਾਰੀਖਾਂ, ਤਿਉਹਾਰਾਂ ਦੀਆਂ ਯੋਜਨਾਵਾਂ ਜਾਂ ਸਾਲਗਿਰਹ ਦੀਆਂ ਸਮਾਰੋਹਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਕਾਨੂੰਨੀ ਅਤੇ ਸੌਦਾ: ਕਾਨੂੰਨੀ ਕਾਰਵਾਈਆਂ ਲਈ ਮਿਆਦਾਂ, ਸੌਦੇ ਦੇ ਸਮਾਪਤੀ ਦੀਆਂ ਮਿਆਦਾਂ ਜਾਂ ਨੋਟਿਸ ਦੀਆਂ ਮਿਆਦਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਅਕਾਦਮਿਕ ਯੋਜਨਾ: ਸੈਮਿਸਟਰ ਦੀ ਸ਼ੁਰੂਆਤ/ਅੰਤ ਦੀਆਂ ਤਾਰੀਖਾਂ, ਸੌਂਪਣ ਦੀਆਂ ਮਿਆਦਾਂ ਜਾਂ ਖੋਜ ਦੇ ਸਮੇਂ ਦੀਆਂ ਲਾਈਨਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਯਾਤਰਾ ਦੀ ਯੋਜਨਾ: ਯਾਤਰਾ ਦੀਆਂ ਮਿਆਦਾਂ, ਵੀਜ਼ਾ ਦੀ ਮਿਆਦਾਂ ਜਾਂ ਬੁਕਿੰਗ ਦੀਆਂ ਮਿਆਦਾਂ ਦੀ ਗਣਨਾ ਕਰਨਾ।
-
ਸਿਹਤ ਸੇਵਾ: ਫਾਲੋਅਪ ਅਪੋਇੰਟਮੈਂਟਾਂ, ਦਵਾਈ ਦੇ ਚੱਕਰਾਂ ਜਾਂ ਇਲਾਜ ਦੀਆਂ ਮਿਆਦਾਂ ਦੀ ਯੋਜਨਾ ਬਣਾਉਣਾ।
-
ਨਿਰਮਾਣ ਅਤੇ ਲਾਜਿਸਟਿਕ: ਉਤਪਾਦਨ ਦੀਆਂ ਯੋਜਨਾਵਾਂ, ਡਿਲਿਵਰੀ ਦੀਆਂ ਤਾਰੀਖਾਂ ਜਾਂ ਰਖ-ਰਖਾਅ ਦੇ ਅੰਤਰਾਲਾਂ ਦੀ ਯੋਜਨਾ ਬਣਾਉਣਾ।
ਵਿਕਲਪ
ਜਦੋਂ ਕਿ ਕੈਲੰਡਰ ਕੈਲਕੂਲੇਟਰ ਬਹੁਤ ਹੀ ਲਚਕੀਲਾ ਹੈ, ਹੋਰ ਟੂਲ ਅਤੇ ਤਰੀਕੇ ਵੀ ਹਨ ਜੋ ਤਾਰੀਖ ਅਤੇ ਸਮੇਂ ਦੇ ਹੱਥਾਂ ਨਾਲ ਨਿਪਟਣ ਲਈ:
-
ਸਪ੍ਰੈਡਸ਼ੀਟ ਫੰਕਸ਼ਨ: ਮਾਈਕ੍ਰੋਸਾਫਟ ਐਕਸਲ ਅਤੇ ਗੂਗਲ ਸ਼ੀਟ ਵਰਗੇ ਪ੍ਰੋਗਰਾਮ ਸਧਾਰਨ ਗਣਨਾਵਾਂ ਲਈ ਬਣੇ-ਬਣਾਏ ਤਾਰੀਖ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
-
ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ: ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਮਜ਼ਬੂਤ ਤਾਰੀਖ/ਸਮਾਂ ਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ (ਜਿਵੇਂ ਕਿ ਪਾਇਥਨ ਵਿੱਚ datetime, ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ Moment.js)।
-
ਆਨਲਾਈਨ ਤਾਰੀਖ ਕੈਲਕੂਲੇਟਰ: ਵੱਖ-ਵੱਖ ਵੈਬਸਾਈਟਾਂ ਸਧਾਰਨ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਦੇ ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ, ਅਕਸਰ ਵਿਸ਼ੇਸ਼ ਫੋਕਸ ਨਾਲ (ਜਿਵੇਂ ਕਿ ਕੰਮ ਦੇ ਦਿਨਾਂ ਦੇ ਕੈਲਕੂਲੇਟਰ)।
-
ਪ੍ਰੋਜੈਕਟ ਪ੍ਰਬੰਧਨ ਸਾਫਟਵੇਅਰ: ਮਾਈਕ੍ਰੋਸਾਫਟ ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਜਿਰਾ ਵਰਗੇ ਟੂਲਾਂ ਵਿੱਚ ਆਪਣੀ ਸਮਾਂ-ਸੂਚੀ ਦੀਆਂ ਕਾਰਜਸ਼ੀਲਤਾਵਾਂ ਦੇ ਅੰਦਰ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਦੇ ਫੀਚਰ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
-
ਯੂਨੀਕਸ ਟਾਈਮਸਟੈਂਪ ਕੈਲਕੂਲੇਟਰ: ਤਕਨੀਕੀ ਉਪਭੋਗਤਾਵਾਂ ਲਈ, ਇਹ ਟੂਲ ਤਾਰੀਖਾਂ ਨੂੰ 1 ਜਨਵਰੀ 1970 ਤੋਂ ਬਾਅਦ ਦੇ ਸਕਿੰਟਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ।
-
ਮੋਬਾਈਲ ਐਪਸ: ਬਹੁਤ ਸਾਰੇ ਕੈਲੰਡਰ ਅਤੇ ਉਤਪਾਦਕਤਾ ਐਪਸ ਵਿੱਚ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਦੇ ਫੀਚਰ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਇਤਿਹਾਸ
ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਦਾ ਸੰਕਲਪ ਕੈਲੰਡਰ ਪ੍ਰਣਾਲੀਆਂ ਦੇ ਵਿਕਾਸ ਦੇ ਨਾਲ ਨਾਲ ਵਿਕਸਤ ਹੋਇਆ ਹੈ:
-
ਪ੍ਰਾਚੀਨ ਸਭਿਆਚਾਰ: ਮਿਸਰੀ, ਬਾਬਿਲੋਨੀਆਈ ਅਤੇ ਮਾਇਆਵਾਦੀਆਂ ਨੇ ਜਟਿਲ ਕੈਲੰਡਰ ਪ੍ਰਣਾਲੀਆਂ ਵਿਕਸਤ ਕੀਤੀਆਂ, ਜੋ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਲਈ ਆਧਾਰ ਪੈਦਾ ਕਰਦੀਆਂ ਹਨ।
-
ਜੂਲੀਅਨ ਕੈਲੰਡਰ (45 BCE): ਜੂਲਿਅਸ ਸੀਜ਼ਰ ਦੁਆਰਾ ਪ੍ਰਸਤਾਵਿਤ, ਇਸਨੇ ਸੂਰਜੀ ਸਾਲ ਨੂੰ ਮਿਆਰੀਕਰਨ ਕੀਤਾ ਅਤੇ ਲੀਪ ਸਾਲਾਂ ਦੇ ਸੰਕਲਪ ਨੂੰ ਜਾਣੂ ਕਰਵਾਇਆ, ਜਿਸ ਨਾਲ ਲੰਬੇ ਸਮੇਂ ਦੀਆਂ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਹੋਰ ਸਹੀ ਹੋ ਗਈਆਂ।
-
ਗ੍ਰੇਗਰੀਅਨ ਕੈਲੰਡਰ (1582): ਪੋਪ ਗ੍ਰੇਗਰੀ XIII ਦੁਆਰਾ ਪ੍ਰਸਤਾਵਿਤ, ਇਸਨੇ ਜੂਲੀਅਨ ਕੈਲੰਡਰ ਦੇ ਲੀਪ ਸਾਲ ਦੇ ਨਿਯਮ ਨੂੰ ਸੁਧਾਰਿਆ, ਜੋ ਲੰਬੇ ਸਮੇਂ ਦੀਆਂ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਦੀ ਸਹੀਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ।
-
ਮਿਆਰੀ ਸਮਾਂ ਦੀ ਅਪਣਾਈ (19ਵੀਂ ਸਦੀ): ਸਮਾਂ ਦੇ ਖੇਤਰ ਅਤੇ ਮਿਆਰੀ ਸਮਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਨੇ ਅੰਤਰਰਾਸ਼ਟਰੀ ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਦੀਆਂ ਗਣਨਾਵਾਂ ਨੂੰ ਹੋਰ ਸਹੀ ਬਣਾਇਆ।
-
ਕੰਪਿਊਟਰ ਯੁਗ (20ਵੀਂ ਸਦੀ): ਕੰਪਿਊਟਰਾਂ ਦੇ ਆਗਮਨ ਨੇ ਵੱਖ-ਵੱਖ ਤਾਰੀਖ/ਸਮਾਂ ਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਅਲਗੋਰੀਦਮਾਂ ਦੇ ਵਿਕਾਸ ਨੂੰ ਪ੍ਰੇਰਿਤ ਕੀਤਾ, ਜਿਸ ਨਾਲ ਜਟਿਲ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਸਹੀ ਅਤੇ ਤੇਜ਼ ਹੋ ਗਈ।
-
ਯੂਨੀਕਸ ਟਾਈਮਸਟੈਂਪ (1970): ਤਾਰੀਖਾਂ ਨੂੰ 1 ਜਨਵਰੀ 1970 ਤੋਂ ਬਾਅਦ ਦੇ ਸਕਿੰਟਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਰਸਾਉਣ ਦਾ ਇੱਕ ਮਿਆਰੀ ਤਰੀਕਾ ਪੇਸ਼ ਕੀਤਾ, ਜੋ ਕੰਪਿਊਟਰ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
-
ISO 8601 (1988): ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਲਈ ਇਹ ਅੰਤਰਰਾਸ਼ਟਰੀ ਮਿਆਰ ਵੱਖ-ਵੱਖ ਪ੍ਰਣਾਲੀਆਂ ਅਤੇ ਸਭਿਆਚਾਰਾਂ ਵਿੱਚ ਤਾਰੀਖ ਦੀ ਗਣਨਾ ਨੂੰ ਮਿਆਰੀਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਣ
ਹੇਠਾਂ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਕਰਨ ਲਈ ਕੁਝ ਕੋਡ ਉਦਾਹਰਣ ਹਨ:
from datetime import datetime, timedelta
def add_time(date_str, years=0, months=0, weeks=0, days=0):
date = datetime.strptime(date_str, "%Y-%m-%d")
# ਸਾਲ ਅਤੇ ਮਹੀਨੇ ਜੋੜੋ
new_year = date.year + years
new_month = date.month + months
while new_month > 12:
new_year += 1
new_month -= 12
while new_month < 1:
new_year -= 1
new_month += 12
# ਮਹੀਨੇ ਦੇ ਅੰਤ ਦੇ ਕੇਸਾਂ ਨੂੰ ਸੰਭਾਲੋ
last_day_of_month = (datetime(new_year, new_month % 12 + 1, 1) - timedelta(days=1)).day
new_day = min(date.day, last_day_of_month)
new_date = date.replace(year=new_year, month=new_month, day=new_day)
# ਹਫਤੇ ਅਤੇ ਦਿਨ ਜੋੜੋ
new_date += timedelta(weeks=weeks, days=days)
return new_date.strftime("%Y-%m-%d")
## ਉਦਾਹਰਣ ਦੀ ਵਰਤੋਂ
print(add_time("2023-01-31", months=1)) # ਨਤੀਜਾ: 2023-02-28
print(add_time("2023-02-28", years=1)) # ਨਤੀਜਾ: 2024-02-28
print(add_time("2023-03-15", weeks=2, days=3)) # ਨਤੀਜਾ: 2023-04-01
ਇਹ ਉਦਾਹਰਣ ਪਾਇਥਨ, ਜਾਵਾਸਕ੍ਰਿਪਟ ਅਤੇ ਜਾਵਾ ਵਿੱਚ ਤਾਰੀਖ ਦੀਆਂ ਗਣਨਾਵਾਂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ, ਜੋ ਮਹੀਨੇ ਦੇ ਅੰਤ ਦੀਆਂ ਤਾਰੀਖਾਂ ਅਤੇ ਲੀਪ ਸਾਲਾਂ ਵਰਗੇ ਵੱਖ-ਵੱਖ ਕਿਨਾਰੇ ਦੇ ਕੇਸਾਂ ਨੂੰ ਸੰਭਾਲਦੀਆਂ ਹਨ।
ਸੰਖਿਆਤਮਕ ਉਦਾਹਰਣ
-
31 ਜਨਵਰੀ 2023 ਨੂੰ 1 ਮਹੀਨਾ ਜੋੜਨਾ:
- ਇਨਪੁਟ: 2023-01-31, 1 ਮਹੀਨਾ ਜੋੜੋ
- ਨਤੀਜਾ: 2023-02-28 (28 ਫ਼ਰਵਰੀ 2023)
-
29 ਫ਼ਰਵਰੀ 2024 (ਲੀਪ ਸਾਲ) ਨੂੰ 1 ਸਾਲ ਜੋੜਨਾ:
- ਇਨਪੁਟ: 2024-02-29, 1 ਸਾਲ ਜੋੜੋ
- ਨਤੀਜਾ: 2025-02-28 (28 ਫ਼ਰਵਰੀ 2025)
-
15 ਮਾਰਚ 2023 ਤੋਂ 2 ਹਫਤੇ ਅਤੇ 3 ਦਿਨ ਘਟਾਉਣਾ:
- ਇਨਪੁਟ: 2023-03-15, 2 ਹਫਤੇ ਅਤੇ 3 ਦਿਨ ਘਟਾਓ
- ਨਤੀਜਾ: 2023-02-26 (26 ਫ਼ਰਵਰੀ 2023)
-
31 ਜੁਲਾਈ 2022 ਨੂੰ 18 ਮਹੀਨੇ ਜੋੜਨਾ:
- ਇਨਪੁਟ: 2022-07-31, 18 ਮਹੀਨੇ ਜੋੜੋ
- ਨਤੀਜਾ: 2024-01-31 (31 ਜਨਵਰੀ 2024)
ਹਵਾਲੇ
-
ਰਿਚਰਡਸ, ਈ. ਜੀ. (2013). ਕੈਲੰਡਰ. ਐਨ ਐੱਸ. ਈ. ਅਰਬਨ ਅਤੇ ਪੀ. ਕੇ. ਸੇਡਲਮੈਨ (ਸੰਪਾਦਕਾਂ), ਐਕਸਪਲਨਟਰੀ ਸਪਲੀਮੈਂਟ ਟੂ ਦ ਅਸਟਰੋਨੋਮਿਕਲ ਅਲਮਨੈਕ (3ਵੀਂ ਸੰਸਕਰਣ, ਪੰਨਾ 585-624). ਮਿਲ ਵੈਲੀ, ਸੀਏ: ਯੂਨੀਵਰਸਿਟੀ ਸਾਇੰਸ ਬੁੱਕਸ।
-
ਡਰਸ਼ੋਵਿਟਜ਼, ਨ., ਅਤੇ ਰੀੰਗੋਲਡ, ਈ. ਐਮ. (2008). ਕੈਲੰਡਰਿਕਲ ਕੈਲਕੂਲੇਸ਼ਨ (3ਵੀਂ ਸੰਸਕਰਣ). ਕੇਮਬ੍ਰਿਜ ਯੂਨੀਵਰਸਿਟੀ ਪ੍ਰੈਸ।
-
ਕੁਹਨ, ਐਮ., ਅਤੇ ਜੋਹਨਸਨ, ਕੇ. (2013). ਐਪਲਾਈਡ ਪ੍ਰਿਡਿਕਟਿਵ ਮਾਡਲਿੰਗ. ਸਪ੍ਰਿੰਗਰ।
-
"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਦੀਆਂ ਕਲਾਸਾਂ". ਔਰੇਕਲ. https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
-
"datetime — ਮੂਲ ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਦੇ ਕਿਸਮਾਂ". ਪਾਇਥਨ ਸਾਫਟਵੇਅਰ ਫਾਊਂਡੇਸ਼ਨ. https://docs.python.org/3/library/datetime.html
-
"ਤਾਰੀਖ". ਮੋਜ਼ਿਲਾ ਡਿਵੈਲਪਰ ਨੈੱਟਵਰਕ. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date