পাইথনে কীভাবে বর্তমান সময় পাবেন


2885

বর্তমান সময় পেতে মডিউল / পদ্ধতিটি কী ব্যবহৃত হয়?


দয়া করে নোট করুন, সর্বাধিক ভোট দেওয়া উত্তরগুলি টাইমজোনাই-নিখুঁত ডেটটাইমের জন্য, যদিও আমরা দেখি যে উত্পাদন পরিবেশে আরও বেশি সংখ্যক পরিষেবাদি একত্রিত হয় এবং টাইমজোন-সচেতন ডেটটাইম প্রয়োজনীয় মান হয়ে যায়
সাওমির লেনার্ট

উত্তর:


3048

ব্যবহার করুন:

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2009, 1, 6, 15, 8, 24, 78915)

>>> print(datetime.datetime.now())
2009-01-06 15:08:24.789150

এবং ঠিক সময়:

>>> datetime.datetime.now().time()
datetime.time(15, 8, 24, 78915)

>>> print(datetime.datetime.now().time())
15:08:24.789150

আরও তথ্যের জন্য ডকুমেন্টেশন দেখুন ।

টাইপিং সংরক্ষণ করতে, আপনি মডিউল datetimeথেকে বস্তুটি আমদানি করতে পারেন datetime:

>>> from datetime import datetime

তারপরে datetime.উপরের সমস্ত থেকে নেতৃস্থানীয়টি সরান ।


25
যদি এই উত্তরটি টাইমজোনগুলি কভার করে (সম্ভবত ইউটিসি উদাহরণ হিসাবে) এবং সম্ভবত সময়.টাইম () দিয়ে শুরু হয় তবে এটি দুর্দান্ত হবে।
গ্রেগ লিন্ডাল হ'ল

4
@ তোসকান ফর্ম্যাটটি প্রশ্নের অংশ ছিল না, সুতরাং এটি উত্তরের অংশ হওয়া উচিত নয়। মডিউলটির আরও ডকুমেন্টেশনগুলিতে ইতিমধ্যে একটি লিঙ্ক সরবরাহ করা আছে যাতে ফর্ম্যাটের মতো স্টাফ রয়েছে।
জিয়ুউসেন্সি

পাইথনের কোন সংস্করণটি মূল উত্তরটি দেওয়া হয়েছিল? datetime.datetime.now()আমার পাইথন ২.7 ইন্টারেক্টিভ কনসোলে কেবল টাইপ করা (আয়রন পাইথন এখনও আপডেট হয়নি) print()উত্তরে আমাকে নতুন উদাহরণের মতো একই আচরণ দেয় । মূল উত্তরটি কী দেখায় তা সফলভাবে প্রতিলিপি করা হয়নি (ডেটটাইম.ডেটটাইম (2009, 1, 6, 15, 8, 24, 78915))। (আমি সত্যিই এটি চাই না, মুদ্রণের () আচরণটি পছন্দ করা হয় তবে আমি কৌতূহল বোধ করি))
আরটিএয়ার্সটন

@ بابিভিক্টর: পাইথন ২.7, ৩.7 এবং ৩.৮ সমস্তই আমার জন্য একই আচরণ করে, আপনি কী দেখছেন তা নিশ্চিত নয়।
হারলে হলক্বে

@ হারলেহলকম্বে হুম ... সম্ভবত এটি আয়রন পাইথন জিনিস? আমি যখন datetime.now()নিজে নিজে এটি টাইপ করি তখন এটি আপনার উত্তর শোয়ের মতোই প্রিন্ট করে print(datetime.now())...
আরটিআরস্টন

955

আপনি ব্যবহার করতে পারেন time.strftime():

>>> from time import gmtime, strftime
>>> strftime("%Y-%m-%d %H:%M:%S", gmtime())
'2009-01-05 22:14:39'

48
এটি নীচে @ প্যারামিটারজ এর উত্তর চেয়ে ভাল / খারাপ? কেন আমরা timeমডিউল বনাম মডিউলটি ব্যবহার করব datetime?
নাথান

3
এটি আমার কম্পিউটারের বর্তমান ঘন্টা ফেরায় না।
Saeed

5
এটি ইউটিসি সময়, তারিখের সময় মডিউল থেকে আলাদা
ভয়েজার

5
@ সাeedদ: আপনার স্থানীয় সময় পাওয়ার জন্য localtime()পরিবর্তে ফাংশনটি ব্যবহার করুন gmtime()
জিয়েকোমন

3
@frank দেখুন সংশ্লিষ্ট প্রশ্ন উপর datetimeবনাম time
প্যাকার্ড সিপডাব্লু


456

অনুরূপ হারলে এর উত্তর কিন্তু ব্যবহার str()একটি দ্রুত-এন-মলিন জন্য ফাংশন, সামান্য বেশি মানুষের পাঠযোগ্য বিন্যাস:

>>> from datetime import datetime
>>> str(datetime.now())
'2011-05-03 17:45:35.177000'

13
এটি যা জিজ্ঞাসা করছে তা হ'ল বর্তমান সময়টি পাওয়া, এটি প্রদর্শন করা নয়।
পিপ্পারি

@ পিপ্পেরি, তারপরে কেবল রায়ের উত্তরের জন্য কেবল একটি ভেরিয়েবল বরাদ্দ করুন - যেমন: মাইটাইম = টিআর (ডেটটাইম.নো ())
লুকাশ

2
প্রাসঙ্গিক না; "টিআর" পদক্ষেপটি প্রশ্নের আওতায় নেই
পিপ্পারি

4
@ পিপ্পেরি নর ওপ বলেন না যে এটি সময়ের স্ট্রিং পাওয়ার কথা নয়। অপেরা সময়টির সাথে তারা কী করতে চায় তা মোটেও বলে না, তবে এটি স্ট্রিংয়ে কীভাবে পরিবর্তন করা যায় তা দেখানো কেন খারাপ কাজ নয়? বেশিরভাগ উত্তরগুলি সময় থেকে একটি স্ট্রিং পাওয়ার কথা বলে, তাই এটি একটি সাধারণ ব্যবহারের ক্ষেত্রে উপস্থিত বলে মনে হয়, তাই কেন রায়ের উত্তর এককভাবে প্রকাশিত হয়? কি ব্যবহার কেবল কিভাবে জেনে সময় হচ্ছে না এটা দিয়ে কিছু? আপনি এটি মুদ্রণ করতে পারেন, বা এটিতে গণিত করতে পারেন, এবং কেবলমাত্র উত্তরগুলির মধ্যে দু'টি এতে কীভাবে গণিত করতে হয় তা দেখায়, তাই আমার মনে হয় স্ট্রিং মুদ্রণ করা / পাওয়া একটি সাধারণ ব্যবহার। ;-) (আমি জানি এটিই আমি এসেছি))
আরটিএয়ারস্টন

1
এটা সত্য যে এই উত্তর বেশি 440 upvotes হয়েছে দাড়ায় যে স্ট্রিং পদ্ধতির ছোটখাট উপরন্তু ছিল মানুষের অনেক উপকারে।
জন

360

পাইথনে আমি কীভাবে বর্তমান সময় পাব?

timeমডিউল

timeমডিউল আমাদের পাশাপাশি অন্যান্য ইউটিলিটি "কাল থেকে সেকেন্ড" সময় বলে যে ফাংশন প্রদান করে।

import time

ইউনিক্স যুগের সময়

এটি ডাটাবেসে সংরক্ষণের জন্য টাইমস্ট্যাম্পগুলি পাওয়া উচিত এমন ফর্ম্যাট। এটি একটি সাধারণ ভাসমান পয়েন্ট নম্বর যা পূর্ণসংখ্যায় রূপান্তরিত হতে পারে। এটি সেকেন্ডে পাটিগণিতের পক্ষেও ভাল, কারণ এটি 1 জানুয়ারী, ১৯ 1970০ 00:00:00 সাল থেকে সেকেন্ডের সংখ্যার প্রতিনিধিত্ব করে, এবং এটি পরবর্তী সময়ের যে উপস্থাপিত হবে তার তুলনায় এটি মেমরি লাইট is

>>> time.time()
1424233311.771502

এই টাইমস্ট্যাম্পটি লিপ-সেকেন্ডের জন্য অ্যাকাউন্ট করে না, সুতরাং এটি লিনিয়ার নয় - লিপ সেকেন্ড উপেক্ষা করা হয়। সুতরাং এটি আন্তর্জাতিক ইউটিসি স্ট্যান্ডার্ডের সমতুল্য না হলেও এটি নিকটবর্তী এবং তাই রেকর্ড-রক্ষার বেশিরভাগ ক্ষেত্রে এটি বেশ ভাল।

তবে এটি মানব নির্ধারনের জন্য আদর্শ নয়। আপনার যদি ভবিষ্যতের কোনও ইভেন্ট থাকে যা আপনি নির্দিষ্ট সময়ে নির্দিষ্ট সময়ে ঘটতে চান, আপনি সেই সময়টিকে একটি স্ট্রিং দিয়ে সঞ্চয় করতে চান যা ডেটটাইম অবজেক্ট বা সিরিয়ালযুক্ত ডেটটাইম অবজেক্টে পার্স করা যেতে পারে (এগুলি পরে বর্ণিত হবে)।

time.ctime

আপনি আপনার অপারেটিং সিস্টেম দ্বারা পছন্দসই পদ্ধতিতে বর্তমান সময়ের প্রতিনিধিত্ব করতে পারেন (যার অর্থ আপনি যখন আপনার সিস্টেমের পছন্দগুলি পরিবর্তন করেন এটি পরিবর্তিত হতে পারে, সুতরাং আমি অন্যরা যেমন দেখেছি দেখেছি তেমন সমস্ত সিস্টেমে স্ট্যান্ডার্ড হওয়ার উপর নির্ভর করবেন না) । এটি সাধারণত ব্যবহারকারী বান্ধব, তবে সাধারণত কালক্রমে বাছাই করা স্ট্রিংয়ের ফল হয় না:

>>> time.ctime()
'Tue Feb 17 23:21:56 2015'

আপনি টাইমস্ট্যাম্পগুলি মানব পাঠযোগ্য ফর্মের সাথে হাইড্রেট করতে পারেন ctime:

>>> time.ctime(1424233311.771502)
'Tue Feb 17 23:21:51 2015'

এই রূপান্তরটি রেকর্ড-রক্ষার জন্যও ভাল নয় (পাঠ্যগুলি কেবলমাত্র মানুষগুলি বিশ্লেষণ করবে - এবং উন্নত অপটিক্যাল চরিত্রের স্বীকৃতি এবং কৃত্রিম বুদ্ধিমত্তার সাথে, আমি মনে করি যে এই মামলার সংখ্যা হ্রাস পাবে)।

datetime মডিউল

datetimeমডিউল এখানেও বেশ দরকারী হল:

>>> import datetime

datetime.datetime.now

datetime.nowএকটি বর্গ পদ্ধতি যা বর্তমান সময় ফেরৎ হয়। এটি time.localtimeটাইমজোন তথ্য ব্যতীত ব্যবহার করে (যদি না দেওয়া হয় তবে অন্যথায় নীচে টাইমজোন সচেতন দেখুন)। strএটিতে একটি উপস্থাপনা রয়েছে (যা আপনাকে সমান বস্তুটি পুনরায় তৈরি করতে দেয়) শেলের উপর প্রতিধ্বনিত হয়, তবে যখন মুদ্রিত হয় (বা একটিতে প্রচ্ছন্ন হয় ), এটি মানব পাঠযোগ্য (এবং প্রায় আইএসও) ফর্ম্যাটে থাকে এবং অভিধানিক ক্রমটি সমান হয় কালানুক্রমিক বাছাই:

>>> datetime.datetime.now()
datetime.datetime(2015, 2, 17, 23, 43, 49, 94252)
>>> print(datetime.datetime.now())
2015-02-17 23:43:51.782461

DATETIME এর utcnow

আপনি এটি করার মাধ্যমে একটি গ্লোবাল স্ট্যান্ডার্ড, ইউটিসি সময়ে একটি ডেটটাইম অবজেক্ট পেতে পারেন:

>>> datetime.datetime.utcnow()
datetime.datetime(2015, 2, 18, 4, 53, 28, 394163)
>>> print(datetime.datetime.utcnow())
2015-02-18 04:53:31.783988

ইউটিসি একটি সময় মান যা GMT টাইমজোন প্রায় সমান। (যদিও জিএমটি এবং ইউটিসি দিবালোক সঞ্চয় সময়ের জন্য পরিবর্তন করে না, তাদের ব্যবহারকারীরা গ্রীষ্মের সময় ব্রিটিশ গ্রীষ্মকালীন সময়ের মতো অন্যান্য সময় অঞ্চলগুলিতেও যেতে পারেন))

ডেটটাইম টাইমজোন সচেতন

তবে, এখন পর্যন্ত আমরা যে তারিখের সময় অবজেক্ট তৈরি করেছি তার কোনওটিই সহজেই বিভিন্ন টাইম জোনে রূপান্তর করতে পারে না। আমরা pytzমডিউলটি দিয়ে সেই সমস্যাটি সমাধান করতে পারি :

>>> import pytz
>>> then = datetime.datetime.now(pytz.utc)
>>> then
datetime.datetime(2015, 2, 18, 4, 55, 58, 753949, tzinfo=<UTC>)

সমানভাবে, পাইথন 3 এ আমাদের timezoneক্লাসটি একটি উত্সাহিত timezoneউদাহরণের সাথে সংযুক্ত রয়েছে, যা বস্তুর টাইমজোনকে সচেতন করে তোলে (তবে হ্যান্ডি pytzমডিউলটি ছাড়াই অন্য একটি টাইমজোনকে রূপান্তর করতে পাঠকের কাছে অনুশীলন হিসাবে ছেড়ে দেওয়া হয়েছে):

>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.utc)

এবং আমরা দেখতে পাই যে আমরা সহজেই মূল ইউটিসি অবজেক্ট থেকে টাইম জোনে রূপান্তর করতে পারি।

>>> print(then)
2015-02-18 04:55:58.753949+00:00
>>> print(then.astimezone(pytz.timezone('US/Eastern')))
2015-02-17 23:55:58.753949-05:00

এছাড়াও আপনি একটি সরল DATETIME বস্তুর সঙ্গে সচেতন করে তুলতে পারে pytzটাইমজোন localize, অথবা (সঙ্গে tzinfo অ্যাট্রিবিউট প্রতিস্থাপন পদ্ধতি replace, এই অন্ধভাবে সম্পন্ন করা হয়), কিন্তু এই সর্বোত্তম কার্যাভ্যাস চেয়ে বেশি গত রিসর্ট আছেন:

>>> pytz.utc.localize(datetime.datetime.utcnow())
datetime.datetime(2015, 2, 18, 6, 6, 29, 32285, tzinfo=<UTC>)
>>> datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
datetime.datetime(2015, 2, 18, 6, 9, 30, 728550, tzinfo=<UTC>)

pytzমডিউল আমাদের করতে এটি আমাদের দেয় datetimeবস্তু সচেতন টাইমজোন এবং পাওয়া সময়ের অঞ্চলগুলোকে শত শত গুণ রূপান্তর pytzমডিউল।

এই অবজেক্টটি ইউটিসির সময়কালের জন্য দৃশ্যমানভাবে সিরিয়ালাইজ করতে পারে এবং এটি একটি ডেটাবেজে সংরক্ষণ করতে পারে তবে ইউনিক্সের প্রথম সময়টি সংরক্ষণ করার চেয়ে এটির চেয়ে অনেক বেশি মেমরি দরকার এবং ত্রুটির ঝুঁকির ঝুঁকির ঝুঁকিপূর্ণ হতে পারে।

সময় দেখার অন্যান্য উপায়গুলি হ'ল ত্রুটিযুক্ত প্রবণতা, বিশেষত বিভিন্ন সময় অঞ্চল থেকে আসা ডেটা নিয়ে কাজ করার সময়। আপনি চাইছেন যে কোন সময়জোনটি কোন স্ট্রিং বা সিরিয়ালযুক্ত ডেটটাইম অবজেক্টের জন্য নির্ধারিত হয়েছিল তা নিয়ে কোনও বিভ্রান্তি সৃষ্টি হয় না।

যদি আপনি ব্যবহারকারীর জন্য পাইথনের সাথে সময় প্রদর্শন করে ctimeথাকেন তবে কোনও টেবিলে নয় , দুর্দান্তভাবে কাজ করে (এটি সাধারণত ভালভাবে সাজায় না) তবে সম্ভবত একটি ঘড়ির মধ্যে। যাইহোক, পাইথনে সময় নিয়ে কাজ করার সময়, আমি ইউনিক্স সময় ব্যবহার করে বা টাইমজোন সচেতন ইউটিসি datetimeঅবজেক্টটি ব্যবহার করার জন্য ব্যক্তিগতভাবে পরামর্শ দিই ।


133

ডু

from time import time

t = time()
  • t - ফ্লোট নম্বর, সময়ের ব্যবধান পরিমাপের জন্য ভাল।

ইউনিক্স এবং উইন্ডোজ প্ল্যাটফর্মগুলির জন্য কিছু পার্থক্য রয়েছে।


উইন্ডোজ 10 এর হোমটিতে আমার ফলাফলটি 1576095264.2682993 ছিল - উইন্ডোজের জন্য, এটি কেবল সেকেন্ডে সময় দিতে পারে।
পাইথনমাস্টার202

101
>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %X +0000", gmtime())
'Tue, 06 Jan 2009 04:54:56 +0000'

এটি নির্দিষ্ট ফর্ম্যাটে বর্তমান GMT কে আউটপুট করে। একটি localtime()পদ্ধতিও রয়েছে।

এই পৃষ্ঠায় আরও বিশদ আছে।


69

পূর্ববর্তী উত্তরগুলি সমস্ত ভাল পরামর্শ, তবে আমি এটি ব্যবহার করা সবচেয়ে সহজ বলে মনে করি ctime():

In [2]: from time import ctime
In [3]: ctime()
Out[3]: 'Thu Oct 31 11:40:53 2013'

এটি বর্তমান স্থানীয় সময়ের একটি দুর্দান্ত বিন্যাসিত স্ট্রিং প্রতিনিধিত্ব করে।


ওপি কিভাবে করতে বলা পেতে সময় নয় যে, তা কিভাবে প্রদর্শন করতে!
TheTechRobo36414519

58

দ্রুততম উপায় হ'ল:

>>> import time
>>> time.strftime("%Y%m%d")
'20130924'

52

যদি আপনার timeঅবজেক্ট হিসাবে বর্তমান সময়ের প্রয়োজন হয় :

>>> import datetime
>>> now = datetime.datetime.now()
>>> datetime.time(now.hour, now.minute, now.second)
datetime.time(11, 23, 44)

36

.isoformat() ডকুমেন্টেশনে রয়েছে, তবে এখনও এখানে নেই (এটি @ রে ভেগার উত্তরের মতো শক্তিশালী):

>>> import datetime
>>> datetime.datetime.now().isoformat()
'2013-06-24T20:35:55.982000'

35

মার্কিন নৌবাহিনীর অফিসিয়াল টাইমকিপার ইউএস নেভাল অবজারভেটরিকে কেন জিজ্ঞাসা করবেন না ?

import requests
from lxml import html

page = requests.get('http://tycho.usno.navy.mil/cgi-bin/timer.pl')
tree = html.fromstring(page.content)
print(tree.xpath('//html//body//h3//pre/text()')[1])

আপনি যদি ডিসি অঞ্চলে থাকেন (আমার মতো) এই বিলম্বটি খুব খারাপ নাও হতে পারে ...


18
@ C8H10N4O2 আপনি যখন সঠিক আছেন অন্য উত্তরগুলি ধরে নিয়েছে যে আপনার কম্পিউটারটি ইতিমধ্যে সঠিক সময়টি জানে, এই উত্তরটি ধরে নিয়েছে যে কম্পিউটারটির ইন্টারনেটের সাথে একটি সংযোগ রয়েছে, আপনি মার্কিন যুক্তরাষ্ট্রে রয়েছেন এবং তারা কখনও সেই ফাইল / ফাইলটি নেবেন না / লিঙ্কটি পরিবর্তন করুন। গ্রহণ করা চেয়ে এই উত্তর আরও অনেক অনুমান। তবুও চতুর কেউ কম নয়
সুডোবাংবাং

32

বর্তমান সময়টি পেতে পান্ডাস ব্যবহার করে ধরণের সমস্যাটি ওভারকিলিংয়ের জন্য রয়েছে:

import pandas as pd
print(pd.datetime.now())
print(pd.datetime.now().date())
print(pd.datetime.now().year)
print(pd.datetime.now().month)
print(pd.datetime.now().day)
print(pd.datetime.now().hour)
print(pd.datetime.now().minute)
print(pd.datetime.now().second)
print(pd.datetime.now().microsecond)

আউটপুট:

2017-09-22 12:44:56.092642
2017-09-22
2017
9
22
12
44
56
92693

28

আমি এটাই শেষ করেছিলাম:

>>>from time import strftime
>>>strftime("%m/%d/%Y %H:%M")
01/09/2015 13:11

এছাড়াও, এই টেবিলটি ঠিক আপনার পছন্দ মতো তারিখটি ফর্ম্যাট করার জন্য উপযুক্ত ফর্ম্যাট কোডগুলি বেছে নেওয়ার জন্য প্রয়োজনীয় রেফারেন্স (পাইথনের "ডেটটাইম" নথি থেকে এখানে ) here

স্ট্রফটাইম বিন্যাস কোড টেবিল


2
strftime(time_format)প্রদত্ত সাথে সামঞ্জস্য করে স্ট্রিং হিসাবে বর্তমান স্থানীয় সময়কে ফেরত দেয় time_format। দ্রষ্টব্য: time.strftime()এবং datetime.strftime()বিভিন্ন নির্দেশাবলী সেটগুলিকে সমর্থন করুন উদাহরণস্বরূপ, পাইথন 2 এ %zসমর্থিত নয়time.strftime()
jfs

1
সময়ের পরিবর্তে ডেটটাইম ব্যবহার করা কি ভাল অনুশীলন?
ক্রাইস্টেন জি।

2
অনেকগুলি timeমডিউল ফাংশন হ'ল সংশ্লিষ্ট সি ফাংশনগুলির চারপাশে পাতলা মোড়ক are datetimeএটি একটি উচ্চতর স্তর এবং এটি সাধারণত আরও বহনযোগ্য।
jfs

24

আপনি যদি ইতিমধ্যে numpy ব্যবহার করছেন তবে সরাসরি আপনি numpy.datetime64 () ফাংশনটি ব্যবহার করতে পারেন।

import numpy as np
str(np.datetime64('now'))

শুধুমাত্র তারিখের জন্য:

str(np.datetime64('today'))

বা, আপনি যদি ইতিমধ্যে পান্ডা ব্যবহার করছেন তবে আপনি পান্ডাস.টো_ডেটটাইম () ফাংশনটি ব্যবহার করতে পারেন

import pandas as pd
str(pd.to_datetime('now'))

বা,

str(pd.to_datetime('today'))

23

আপনি timeমডিউলটি ব্যবহার করতে পারেন :

import time
print time.strftime("%d/%m/%Y")

>>> 06/02/2015

মূলধনটির ব্যবহার Yপুরো বছর দেয় এবং ব্যবহার করে yদেয়06/02/15

আরও দীর্ঘ সময় দেওয়ার জন্য আপনি নীচের কোডটি ব্যবহার করতে পারেন:

time.strftime("%a, %d %b %Y %H:%M:%S")
>>> 'Fri, 06 Feb 2015 17:45:09'

20

datetime.now()স্থানীয় সময় অঞ্চলে সময়কে উপস্থাপন করে এমন একটি নিষ্পাপ ডেটটাইম অবজেক্ট হিসাবে বর্তমান সময়কে ফেরত দেয়। মানটি দ্ব্যর্থক উদাহরণস্বরূপ হতে পারে, ডিএসটি স্থানান্তরের সময় ("পিছিয়ে পড়া")। অস্পষ্টতা এড়াতে ইউটিসি টাইমজোনটি ব্যবহার করা উচিত:

from datetime import datetime

utc_time = datetime.utcnow()
print(utc_time) # -> 2014-12-22 22:48:59.916417

অথবা একটি সময় অঞ্চল-সচেতন অবজেক্টের সাথে সম্পর্কিত টাইমজোন তথ্য সংযুক্ত রয়েছে (পাইথন ৩.২++):

from datetime import datetime, timezone

now = datetime.now(timezone.utc).astimezone()
print(now) # -> 2014-12-23 01:49:25.837541+03:00

18
import datetime
date_time = datetime.datetime.now()

date = date_time.date()  # Gives the date
time = date_time.time()  # Gives the time

print date.year, date.month, date.day
print time.hour, time.minute, time.second, time.microsecond

কি dir(date)বা প্যাকেজ সহ যেকোন ভেরিয়েবল। আপনি ভেরিয়েবলের সাথে সম্পর্কিত সমস্ত বৈশিষ্ট্য এবং পদ্ধতিগুলি পেতে পারেন।


@snofty এবং @ user1016274, যদি import datetimeতারপর, এটা হয় datetime.datetime.now()\ N যদি from datetime import datetimeতারপর, এটা হয়datetime.now()
theBuzzyCoder

17
>>> import datetime, time
>>> time = time.strftime("%H:%M:%S:%MS", time.localtime())
>>> print time
'00:21:38:20S'

আমি মনে করি আপনি "ডেটটাইম.নো ()।
স্ট্রফটাইম

হ্যাঁ আপনি বলেছিলেন হিসাবে এটি করা যেতে পারে। "ডেটটাইম.ডেটটাইম.নো ()। স্ট্রফটাইম ("% এইচ:% এম:% এস:% এমএস ")"
ইউজার 2030113

3
% এমএস আপনাকে মিলিসেকেন্ড দেয় না !!
ZF007

15

ডিফল্টরূপে, now()ফাংশন YYYY-MM-DD HH:MM:SS:MSবিন্যাসে আউটপুট দেয় । পাইথন স্ক্রিপ্টে বর্তমান তারিখ এবং সময় পেতে নীচের নমুনা স্ক্রিপ্টটি ব্যবহার করুন এবং স্ক্রিনে ফলাফল মুদ্রণ করুন। getDateTime1.pyনীচের বিষয়বস্তু দিয়ে ফাইল তৈরি করুন ।

import datetime

currentDT = datetime.datetime.now()
print (str(currentDT))

আউটপুট নীচের মত দেখাচ্ছে:

2018-03-01 17:03:46.759624

14

এই প্রশ্নের জন্য কেবল এটির প্রয়োজনে নতুন উত্তরের দরকার নেই ... একটি চকচকে নতুন-ইশ খেলনা / মডিউল, তবে এটি যথেষ্ট ন্যায়সঙ্গততা। এটি পেন্ডুলাম গ্রন্থাগার , যা তীরের অভ্যন্তরীণ ত্রুটিগুলি এবং বাগগুলি ব্যতীত তীর দ্বারা চেষ্টা করা জিনিসগুলির সাজানোর কাজ করে বলে মনে হচ্ছে।

উদাহরণস্বরূপ, মূল প্রশ্নের উত্তর:

>>> import pendulum
>>> print(pendulum.now())
2018-08-14T05:29:28.315802+10:00
>>> print(pendulum.now('utc'))
2018-08-13T19:29:35.051023+00:00

একাধিক আরএফসি এবং আইএসও সহ চিন্তার জন্য অনেকগুলি মানদণ্ডের সম্বোধন প্রয়োজন। কখনও তাদের মিশ্রিত করা; চিন্তা করার দরকার নেই, একটু নজর দিনdir(pendulum.constants)চিন্তার কোনও কারণ নেই, তবে আরএফসি এবং আইএসও ফর্ম্যাটগুলির চেয়ে কিছুটা বেশি আছে সেদিকে ।

আমরা যখন স্থানীয় বলি, তবে আমরা কী বোঝাতে চাইছি? ঠিক আছে মানে:

>>> print(pendulum.now().timezone_name)
Australia/Melbourne
>>>

সম্ভবত আপনার বাকি অংশের অর্থ অন্য কোথাও।

এবং এটি যায়। দীর্ঘ গল্প সংক্ষিপ্ত: পেন্ডুলাম এইচটিটিপি-র জন্য অনুরোধগুলি কী করেছিল তা তারিখ এবং সময়ের জন্য করার চেষ্টা করে। এটি বিবেচনা করার মতো, বিশেষত এর ব্যবহারের সহজতা এবং বিস্তৃত ডকুমেন্টেশন উভয়ের জন্য।


13

একটি টাইমজোন বর্তমান সময়

from datetime import datetime
import pytz

tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY time:", datetime_NY.strftime("%H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London time:", datetime_London.strftime("%H:%M:%S"))

tz_India = pytz.timezone('Asia/India')
datetime_India = datetime.now(tz_India)
print("India time:", datetime_India.strftime("%H:%M:%S"))

#list timezones
pytz.all_timezones

12

Http://crsmithdev.com/arrow/ থেকে তীর মডিউলটি ব্যবহার করে দেখুন :

import arrow
arrow.now()

বা ইউটিসি সংস্করণ:

arrow.utcnow()

এর আউটপুট পরিবর্তন করতে।। ফর্ম্যাট () যুক্ত করুন:

arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ')

একটি নির্দিষ্ট সময় অঞ্চল জন্য:

arrow.now('US/Pacific')

এক ঘন্টা আগে:

arrow.utcnow().replace(hours=-1)

অথবা আপনি যদি টুকরোটি চান।

arrow.get('2013-05-11T21:23:58.970460+00:00').humanize()
>>> '2 years ago'

5
হুঁশিয়ার করে arrow.now('Time/Zone')(কিছু সময়ের অঞ্চলগুলোকে জন্য ব্যর্থ হতে পারে arrowব্যবহারসমূহ dateutilযে UTC ভঙ্গ করেছে -> স্থানীয় ধর্মান্তর যে ব্যবহৃত ভিতরে arrow.now()নোট:। pytzএমন কোন ইস্যু হয়েছে এছাড়াও,। অন্যান্য সময় অঞ্চল-সম্পর্কিত বিষয় আছে
JFS

12

আমি সময়টি মিলিসেকেন্ডের সাথে পেতে চাই। এগুলি পাওয়ার সহজ উপায়:

import time, datetime

print(datetime.datetime.now().time())                         # 11:20:08.272239

# Or in a more complicated way
print(datetime.datetime.now().time().isoformat())             # 11:20:08.272239
print(datetime.datetime.now().time().strftime('%H:%M:%S.%f')) # 11:20:08.272239

# But do not use this:
print(time.strftime("%H:%M:%S.%f", time.localtime()), str)    # 11:20:08.%f

তবে আমি শুধু মিলিসেকেন্ড চাই , তাই না? এগুলি পাওয়ার সবচেয়ে সংক্ষিপ্ততম উপায়:

import time

time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 1000)
# 11:34:23.751

দশমিক পয়েন্টের সংখ্যা বা সামঞ্জস্য করতে শেষ গুণ থেকে শূন্যগুলি যুক্ত বা সরিয়ে দিন:

def get_time_str(decimal_points=3):
    return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)

1
এটি পাইথন 3: টাইম.স্ট্রটাইম ("% এইচ:% এম:% এস", টাইম.লোকালটাইম ()) + '{}'। ফর্ম্যাট (ইনট্রি (টাইম.টাইম ()% 1 * 1000))
গ্রেগ গ্রাহাম

11

সময় পেতে আপনি এই ফাংশনটি ব্যবহার করতে পারেন (দুর্ভাগ্যক্রমে এটি এএম বা প্রধানমন্ত্রী বলেন না):

def gettime():
    from datetime import datetime
    return ((str(datetime.now())).split(' ')[1]).split('.')[0]

পরে মার্জ করতে ঘন্টা, মিনিট, সেকেন্ড এবং মিলিসেকেন্ডগুলি পেতে, আপনি এই ফাংশনগুলি ব্যবহার করতে পারেন:

ঘন্টা:

def gethour():
    from datetime import datetime
    return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]

মিনিট:

def getminute():
    from datetime import datetime
    return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1]

দ্বিতীয়ত:

def getsecond():
    from datetime import datetime
    return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2]

মিলিসেকেন্ডে:

def getmillisecond():
    from datetime import datetime
    return (str(datetime.now())).split('.')[1]

10

আপনি যদি কেবলমাত্র এমএসে বর্তমান টাইমস্ট্যাম্প চান (উদাহরণস্বরূপ, এক্সিকিউশন সময় পরিমাপ করতে), আপনি "টাইমিট" মডিউলটিও ব্যবহার করতে পারেন:

import timeit
start_time = timeit.default_timer()
do_stuff_you_want_to_measure()
end_time = timeit.default_timer()
print("Elapsed time: {}".format(end_time - start_time))

8

ফর্ম্যাট না করে সময় পেতে আমি যা ব্যবহার করি তা নীচে। কিছু লোক বিভাজন পদ্ধতি পছন্দ করে না তবে এটি এখানে দরকারী:

from time import ctime
print ctime().split()[3]

এটি এইচএইচ: এমএম: এসএস ফর্ম্যাটে মুদ্রণ করবে।


8

কারণ এটির জন্য এখনও কেউ উল্লেখ করেনি, এবং এটিই আমি সম্প্রতি ranুকে পড়েছি ... ডেটটাইমের উটক্নো () এর সাথে মিলিত একটি পাইটজ টাইমজোন এর বিউটিক () পদ্ধতিটি একটি দরকারী বর্তমান সময় (এবং তারিখ) পাওয়ার সবচেয়ে ভাল উপায় found যে কোনও সময় অঞ্চলে।

from datetime import datetime

import pytz


JST = pytz.timezone("Asia/Tokyo")


local_time = JST.fromutc(datetime.utcnow())

আপনি যদি চান সমস্ত সময় হয় তবে আপনি এটির সাথে এটি পেতে পারেন local_time.time()


আশ্চর্যজনকভাবে, উপরের সমস্ত উত্তর টাইম জোনের উল্লেখ করেনি। আপনি যে ফর্ম্যাটটি চেয়েছিলেন সেটি পেতে আপনার স্ট্রফটাইমও অন্তর্ভুক্ত করা উচিত।
গ্রাফিকাল

1
আমি এটি অন্তর্ভুক্ত করি নি যেহেতু এটি ইতিমধ্যে অন্যান্য উত্তরে coveredাকা পড়েছে (এবং প্রদর্শন বিন্যাসটি প্রশ্নের অংশ ছিল না)।
কুংফু

7

এই প্রশ্নটি পাইথনের জন্য তবে যেহেতু জ্যাঙ্গো পাইথনের জন্য সর্বাধিক ব্যবহৃত ফ্রেমওয়ার্কগুলির মধ্যে একটি, তাই এটি গুরুত্বপূর্ণ যে আপনি যদি জ্যাঙ্গো ব্যবহার করছেন তবে আপনি সর্বদা এর timezone.now()পরিবর্তে ব্যবহার করতে পারবেন datetime.datetime.now()। পূর্ববর্তীটি টাইমজোনটি 'সচেতন', যদিও পরে নেই।

দেখুন এই তাই উত্তর এবং জ্যাঙ্গো ডক বিবরণ এবং যুক্তিপূর্ণ পিছনে জন্য timezone.now()

from django.utils import timezone

now = timezone.now()

7

আপনি সিটিটাইম () ব্যবহার করে এটি করতে পারেন:

from time import time, ctime
t = time()
ctime(t)

আউটপুট:

Sat Sep 14 21:27:08 2019

এই ফলাফলগুলি আলাদা কারণ টাইমস্ট্যাম্প দ্বারা ফিরে ctime()আপনার ভৌগলিক অবস্থানের উপর নির্ভর করে।

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