Kullanıyorum:
str(datetime.datetime.today()).split()[0]
bugünün tarihini YYYY-MM-DD
biçiminde döndürmek için .
Bunu başarmanın daha az kaba bir yolu var mı?
Kullanıyorum:
str(datetime.datetime.today()).split()[0]
bugünün tarihini YYYY-MM-DD
biçiminde döndürmek için .
Bunu başarmanın daha az kaba bir yolu var mı?
Yanıtlar:
Strftime kullanabilirsiniz :
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
Ayrıca, sonunda sıfır dolgulu Saat, Dakika ve Saniye arayan herkes için: ( Gabriel Staples tarafından yapılan yorum )
datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
datetime.datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
time.strftime("%Y-%m-%d")
?
datetime.utcnow().strftime('%Y-%m-%d')
date
etmenin yanı sıra bu da mevcutdatetime
datetime.date.today()
Ortaya çıkan datetime.date
nesneyi kullanabilir ve bir dizeye dönüştürebilirsiniz :
from datetime import date
today = str(date.today())
print(today) # '2017-12-26'
/
?
date.today().strftime('%Y/%m/%d')
.
'GAY', ayırıcıya /
için M/D/Y
ve separatör -
için Y-M-D
. Herkes bu yönergelere uymasa da, herkes geçmediği sürece uluslararası tarihlerin okunmasına yardımcı olacaktır Y-M-D
.
Komik kodları hatırlamayı seviyorsanız, tarih sadece güzel. Basitliği tercih etmez misiniz?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
Bu modül ne demek istediğinizi anlayacak kadar zekidir .
Sadece yap pip install arrow
.
Zeyilname: Bu cevap üzerinden yapılanlara cevap olarak, okun Python'daki tarihlerle başa çıkmak için alternatif yaklaşımlardan birini temsil ettiğini söyleyeyim . Daha çok önermek istediğim buydu.
print(date.today())
>> "2018-12-16" ?? lol ve kolayca int değerleri almak t.year,t.month,t.day+1
>> (2018, 12, 17) nerede t = date.today()
ve aslında onlara zaman söylemek için yeşil ok aramak zorunda değilsiniz. aman tanrım bu hatırlamak çok fazla kod ... olduğunu
import datetime
Farkı import arrow
nedir? Tabii ki yerleşiktir, ancak arrow
daha uygun bir format sağlarsa , neden kullanmıyorsunuz?
arrow
? Ancak, birçok basit proje için, sadece gereksiz. Ayrıca, birçok şirket içi projede, ppl yeni kütüphaneleri dahil etmek için onay almalıdır.
Bunun için daima isoformat()
fonksiyonu kullanırım .
from datetime import date
today = date.today().isoformat()
print(today) # '2018-12-05'
Ayrıca, standart biçimde zamana ihtiyacınız varsa datetime nesnelerinde de çalıştığını unutmayın.
from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'
Diğer yanıtlar datetime.datetime
python'ların kullanılmasını önermektedir , ancak @ Bill Bell'in dediği datetime
gibi, hizmet olarak veya daha büyük bir API ekosisteminin parçası olarak daha basit arayüzler sunan başka kütüphaneler de vardır . İşte çalışmayı datetimes
çok basitleştiren iki kütüphane .
Sen kullanabilirsiniz pd.to_datetime
gelen panda kütüphanesine. Geri dönmek istediğiniz şeye bağlı olarak çeşitli seçenekler.
import pandas as pd
pd.to_datetime('today') # pd.to_datetime('now')
# Timestamp('2019-03-27 00:00:10.958567')
Bir python datetime nesnesi olarak,
pd.to_datetime('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 50, 42, 587629)
Biçimlendirilmiş bir tarih dizesi olarak,
pd.to_datetime('today').isoformat()
# '2019-04-18T04:03:32.493337'
# Or, `strftime` for custom formats.
pd.to_datetime('today').strftime('%Y-%m-%d')
# '2019-03-27'
Zaman damgasından yalnızca tarihi almak için arayın Timestamp.date
.
pd.to_datetime('today').date()
# datetime.date(2019, 3, 27)
Bunun dışında to_datetime
, bir Timestamp
nesneyi doğrudan kullanarak,
pd.Timestamp('today') # pd.Timestamp('now')
# Timestamp('2019-04-18 03:43:33.233093')
pd.Timestamp('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 53, 46, 220068)
Zaman Damgası saat diliminizi haberdar etmek istiyorsanız, tz
tartışmaya bir saat dilimi iletin.
pd.Timestamp('now', tz='America/Los_Angeles')
# Timestamp('2019-04-18 03:59:02.647819-0700', tz='America/Los_Angeles')
Sarkaçla çalışıyorsanız , bazı ilginç seçenekler var. Geçerli zaman damgasını kullanarak now()
veya günün tarihini kullanarak alabilirsiniz today()
.
import pendulum
pendulum.now()
# DateTime(2019, 3, 27, 0, 2, 41, 452264, tzinfo=Timezone('America/Los_Angeles'))
pendulum.today()
# DateTime(2019, 3, 27, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
Ayrıca, aynı zamanda alabilirsiniz tomorrow()
veya yesterday()
bireyin tarih doğrudan herhangi bir ek timedelta aritmetik yapmaya gerek kalmadan.
pendulum.yesterday()
# DateTime(2019, 3, 26, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
pendulum.tomorrow()
# DateTime(2019, 3, 28, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
Çeşitli biçimlendirme seçenekleri mevcuttur.
pendulum.now().to_date_string()
# '2019-03-27'
pendulum.now().to_formatted_date_string()
# 'Mar 27, 2019'
pendulum.now().to_day_datetime_string()
# 'Wed, Mar 27, 2019 12:04 AM'
Çok geç cevap, ancak şunları kullanabilirsiniz:
import time
today = time.strftime("%Y-%m-%d")
# 2020-02-14
Kullanabilirsiniz,
>>> from datetime import date
>>> date.today().__str__()
'2019-10-05'
str(date.today())
daha iyidir
Bunu tercih ederim, çünkü bu basit, ama belki bir şekilde verimsiz ve buggy. Eğer bir İstersen kabuk komutun çıkış kodu kontrol edilmelidir kuvvetle hata geçirmez bir program.
os.system('date +%Y-%m-%d')