পাইথন ডেটটাইম বনাম টাইম মডিউলগুলির মধ্যে পার্থক্য


137

আমি datetimeএবং timeমডিউলগুলির মধ্যে পার্থক্যগুলি এবং প্রতিটিটির জন্য কী ব্যবহার করা উচিত তা নির্ধারণ করার চেষ্টা করছি।

আমি জানি যে datetimeতারিখ এবং সময় উভয়ই সরবরাহ করে। timeমডিউলটির ব্যবহার কী ?

উদাহরণগুলি প্রশংসা করা হবে এবং সময় অঞ্চলগুলি সম্পর্কিত পার্থক্যগুলি বিশেষত আগ্রহী হবে।

উত্তর:


102

timeমডিউল UNIX সময় স্ট্যাম্পের সঙ্গে কাজ করার জন্য প্রধানত হয়; ইউনিক্স পর্বের সময় থেকে কয়েক সেকেন্ড হতে নেওয়া ভাসমান পয়েন্ট সংখ্যা হিসাবে প্রকাশ করা হয়েছে। datetimeমডিউল একই অপারেশনের অনেক সমর্থন করতে পারে না, কিন্তু ধরনের আরো অবজেক্ট ওরিয়েন্টেড সেট প্রদান, এবং এছাড়াও সময় অঞ্চল জন্য কিছু সীমিত সমর্থন আছে।


22
আরও, timeএবং মধ্যে পার্থক্য কি datetime.time?
স্পার্কএন্ডশাইন

রিয়েলটাইম / একঘেয়েমি এর মত বিশদ বৈশিষ্ট্যগুলি চমৎকার হবে। POSIX মান মধ্যে মত আপনি আছে: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_THREAD, ইত্যাদি ... এই তারিখে POSIX ঘড়ি দেখুন: stackoverflow.com/questions/3523442/...
Vajk Hermecz

12

বিদ্ধ করা timeডিএসটি অস্পষ্টতা প্রতিরোধ।

দিবালোক সঞ্চয় সময় (ডিএসটি) দিয়ে অস্পষ্টতা রোধ করতে timeমডিউলের পরিবর্তে একচেটিয়াভাবে সিস্টেম মডিউলটি ব্যবহার করুন ।datetime

স্থানীয় সময় সহ যে কোনও সময় বিন্যাসে রূপান্তর করা খুব সহজ:

import time
t = time.time()

time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'

time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'

time.time()সিস্টেম যুগের পর থেকে সেকেন্ডে সময়কে উপস্থাপন করে এমন একটি ভাসমান পয়েন্ট নম্বর। time.time()দ্ব্যর্থহীন সময় স্ট্যাম্পিং জন্য আদর্শ।

যদি সিস্টেমটি অতিরিক্তভাবে নেটওয়ার্ক টাইম প্রোটোকল (এনটিপি) ডমন চালায় , তবে একটি বেশ শক্ত টাইম বেসের সাথে শেষ হয়।

এখানে মডিউলটির ডকুমেন্টেশন রয়েছে time


আপনার উদাহরণস্বরূপ, আপনি ব্যবহার করুন time.localtime(), অবশ্যই কোনটি ডিএসটি বেকড করেছে? যদি আমরা পিউরিস্ট হতে চলেছি তবে তার time.gmtime()পরিবর্তে আমাদের কী ব্যবহার করা উচিত নয় ? :)
সিউমাস 6'18

@Seamus কেবলমাত্র উভয় কমান্ড পরীক্ষার ipythonঅনুষ্ঠান time.gmtime()একটি tuple উৎপাদ, যেহেতু time.time()দেয় ইউনিক্স যুগান্তকারী সময় ফাংশন যেহেতু 00:00:00 ইউটিসি অতিবাহিত সেকেন্ডের একটি একক দশমিক মান হিসাবে বৃহস্পতিবার, 1 জানুয়ারী 1970 time.localtime(t)ধর্মান্তরিত স্থানীয় এক ব্যক্তিকে যুগান্তকারী সময় সময় tuple সুতরাং, আপনার প্রশ্নের উত্তর হ'ল »না» »
সার্জ Stroobandt

একটি সময় অবজেক্টে দিন যুক্ত করার উপায় আছে কি? ডেটটাইমের সাথে টাইমডেল্টা (দিনগুলি = 6) পদ্ধতি রয়েছে।
নেহেমিয়াস হেরেরা

@ নেহেমিয়াস হেরেরার t = time.time()একটি ভাসমান পয়েন্ট সংখ্যা যা সিস্টেমটি শুরুর পর থেকে কয়েক সেকেন্ডের মধ্যে সময়কে উপস্থাপন করে। অতএব, কেউ কেবল প্রতিদিনের জন্য 86400 সেকেন্ড যোগ বা বিয়োগ করতে পারে; t += 86400
সার্জ স্ট্রোব্যান্ড ২

5

আপনার যখন কেবল কোনও নির্দিষ্ট রেকর্ডের সময় প্রয়োজন তখন সময় মডিউলটি ব্যবহার করা যেতে পারে - যেমন ধরুন যে প্রতিদিনের জন্য লেনদেনের জন্য আপনার কাছে একটি পৃথক টেবিল / ফাইল রয়েছে, তবে আপনার কেবল সময়ের প্রয়োজন হবে। তবে সময় ডেটাটাইপ সাধারণত 2 পয়েন্টের মধ্যে সময়ের পার্থক্য সংরক্ষণ করতে ব্যবহৃত হয় ।

এটি ডেটটাইম ব্যবহার করেও করা যেতে পারে তবে আমরা যদি কেবল কোনও নির্দিষ্ট দিনের জন্য সময় নিয়ে কাজ করি তবে সময় মডিউলটি ব্যবহার করা যেতে পারে।

ডেটটাইম কোনও রেকর্ডের জন্য নির্দিষ্ট ডেটা এবং সময় সঞ্চয় করতে ব্যবহৃত হয়। ভাড়া সংস্থার মতো। নির্ধারিত তারিখটি একটি ডেটটাইম ডেটাটাইপ হবে।


3

আপনি যদি সময় অঞ্চলগুলিতে আগ্রহী হন, আপনার পিটজ ব্যবহার বিবেচনা করা উচিত।


8
এটি সময় এবং তারিখের সময় মডিউল এবং তাদের মধ্যে সময় অঞ্চলগুলির পার্থক্যে সবচেয়ে আগ্রহী বলে মনে হচ্ছে। সমস্ত যথাযোগ্য সম্মানের সাথে, এর মধ্যে অন্য একটি নির্ভরতা আনা বেশ অপ্রাসঙ্গিক।
sbartell

3
সময় এবং তারিখের সময় উভয়ই মডিউলগুলির টাইমজোনগুলির সমর্থন সত্যিই খুব খারাপ ... সমস্যাটি সমাধানের জন্য আপনি নির্ভরতা
এনেছেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.