Kullanıyorum:
str(datetime.datetime.today()).split()[0]
bugünün tarihini YYYY-MM-DDbiç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-DDbiç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')
dateetmenin yanı sıra bu da mevcutdatetime
datetime.date.today()Ortaya çıkan datetime.datenesneyi 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/Yve 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 datetimeFarkı import arrownedir? Tabii ki yerleşiktir, ancak arrowdaha 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.datetimepython'ların kullanılmasını önermektedir , ancak @ Bill Bell'in dediği datetimegibi, 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_datetimegelen 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 Timestampnesneyi 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, tztartış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')