@ user3778327: todayvariabel sudah memiliki tahun dan bulan ini.
jfs
18
Untuk solusi ini, pastikan untuk menggunakan from datetime import datetimedaripada hanyaimport datetime
jpobst
@jpobst Saya menggunakan Python 3.8.1 & datetime-4.3 zope.interface-4.7.1, dan kode di atas (dengan import datetime ) berfungsi untuk saya. Jika saya menulis dari datetime impor datetime , itu melempar saya AttributeError: type object 'datetime.datetime' tidak memiliki atribut 'datetime'
Bekerja, terima kasih! Apakah ada keuntungan lebih .now()daripada yang .today()digunakan dalam jawaban lain? The now()fungsi yang lebih pendek, itu lebih umum digunakan ... tapi apakah ada alasan untuk menggunakan satu atas yang lain ketika semua orang ingin tahu adalah apa tahun itu?
Luc
1
@hashlash Terima kasih! Untuk menyelamatkan orang lain, klik: tidak, tidak juga
Luc
apa yang from datetimedilakukan dan mengapa Anda membutuhkannya?
Cadoiz
1
@Cadoiz - Paket datetime memiliki beberapa submodul - datesubmodule ( from datetime import date) yang hanya berhubungan dengan tanggal, timesubmodule yang berhubungan dengan waktu, dan datetimesubmodule sayangnya bernama yang melakukan keduanya. Ada juga timedeltadan tzinfodi sana. Seseorang bisa saja import datetimemendapatkan seluruh paket dengan semua submodul, tetapi kemudian panggilan metode akan terlihat seperti datetime.datetime.now()atau datetime.date.today(). Biasanya, lebih baik karena beberapa alasan untuk hanya mengimpor komponen yang Anda butuhkan.
dannysauer
68
Menggunakan:
from datetime import datetime
current_month = datetime.now().strftime('%m') // 02 //This is0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February
current_day = datetime.now().strftime('%d') // 23 //This is also padded
current_day_text = datetime.now().strftime('%a') // Fri
current_day_full_text = datetime.now().strftime('%A') // Friday
current_weekday_day_of_today = datetime.now().strftime('%w') //5 Where 0is Sunday and6is Saturday.
current_year_full = datetime.now().strftime('%Y') // 2018
current_year_short = datetime.now().strftime('%y') // 18 without century
current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm
current_hour_am_pm = datetime.now().strftime('%p') // 4 pm
current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.
current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).
Ini akan memberi Anda bulan dan tahun saat ini dalam format integer. Jika Anda ingin mereka menjadi string, Anda hanya perlu menghapus prioritas "int" sambil menetapkan nilai ke variabel curr_yeardan curr_month.
date.today().strftime("%Y-%m")
?Jawaban:
Menggunakan:
from datetime import datetime today = datetime.today() datem = datetime(today.year, today.month, 1)
Saya berasumsi Anda menginginkan yang pertama bulan ini.
sumber
today
variabel sudah memiliki tahun dan bulan ini.from datetime import datetime
daripada hanyaimport datetime
Coba solusi ini:
from datetime import datetime currentSecond= datetime.now().second currentMinute = datetime.now().minute currentHour = datetime.now().hour currentDay = datetime.now().day currentMonth = datetime.now().month currentYear = datetime.now().year
sumber
.now()
daripada yang.today()
digunakan dalam jawaban lain? Thenow()
fungsi yang lebih pendek, itu lebih umum digunakan ... tapi apakah ada alasan untuk menggunakan satu atas yang lain ketika semua orang ingin tahu adalah apa tahun itu?from datetime
dilakukan dan mengapa Anda membutuhkannya?date
submodule (from datetime import date
) yang hanya berhubungan dengan tanggal,time
submodule yang berhubungan dengan waktu, dandatetime
submodule sayangnya bernama yang melakukan keduanya. Ada jugatimedelta
dantzinfo
di sana. Seseorang bisa sajaimport datetime
mendapatkan seluruh paket dengan semua submodul, tetapi kemudian panggilan metode akan terlihat sepertidatetime.datetime.now()
ataudatetime.date.today()
. Biasanya, lebih baik karena beberapa alasan untuk hanya mengimpor komponen yang Anda butuhkan.Menggunakan:
from datetime import datetime current_month = datetime.now().strftime('%m') // 02 //This is 0 padded current_month_text = datetime.now().strftime('%h') // Feb current_month_text = datetime.now().strftime('%B') // February current_day = datetime.now().strftime('%d') // 23 //This is also padded current_day_text = datetime.now().strftime('%a') // Fri current_day_full_text = datetime.now().strftime('%A') // Friday current_weekday_day_of_today = datetime.now().strftime('%w') //5 Where 0 is Sunday and 6 is Saturday. current_year_full = datetime.now().strftime('%Y') // 2018 current_year_short = datetime.now().strftime('%y') // 18 without century current_second= datetime.now().strftime('%S') //53 current_minute = datetime.now().strftime('%M') //38 current_hour = datetime.now().strftime('%H') //16 like 4pm current_hour = datetime.now().strftime('%I') // 04 pm current_hour_am_pm = datetime.now().strftime('%p') // 4 pm current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need. current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).
Referensi: 8.1.7. strftime () dan strptime () Behavior
Referensi: strftime () dan strptime () Behavior
Hal-hal di atas berguna untuk penguraian tanggal apa pun, tidak hanya sekarang atau hari ini. Ini dapat berguna untuk penguraian tanggal apa pun.
e.g. my_date = "23-02-2018 00:00:00" datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00') datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')
Dan seterusnya...
sumber
Anda dapat menulis jawaban yang diterima sebagai satu baris menggunakan
date.replace
:datem = datetime.today().replace(day=1)
sumber
Anda selalu dapat menggunakan metode sub-string:
import datetime; today = str(datetime.date.today()); curr_year = int(today[:4]); curr_month = int(today[5:7]);
Ini akan memberi Anda bulan dan tahun saat ini dalam format integer. Jika Anda ingin mereka menjadi string, Anda hanya perlu menghapus prioritas "int" sambil menetapkan nilai ke variabel
curr_year
dancurr_month
.sumber
datetime.datetime.now().month
lebih baik.>>> from datetime import date >>> date.today().month 2 >>> date.today().year 2020 >>> date.today().day 13
sumber
Jawaban terlambat, tetapi Anda juga dapat menggunakan:
import time ym = time.strftime("%Y-%m")
sumber