Saya ingin mencari tahu yang berikut: diberi tanggal (datetime
objek), apa hari yang sesuai dalam seminggu?
Misalnya, hari Minggu adalah hari pertama, Senin: hari kedua .. dan seterusnya
Dan kemudian jika inputnya seperti tanggal hari ini.
Contoh
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
Outputnya mungkin 6
(karena ini hari Jumat)
int(datetime.datetime.today().strftime('%w'))
Jika Anda ingin memiliki tanggal dalam bahasa Inggris:
sumber
my_date.strftime('%A')
Jika Anda ingin memiliki tanggal dalam bahasa Inggris:
Baca lebih lanjut: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
sumber
Gunakan
date.weekday()
ataudate.isoweekday()
.sumber
datetime
objek (bukandate
objek) saya ingin menyebutkan bahwadatetime
kelas olahraga samaweekday()
danisoweekday()
metode.Saya memecahkan ini untuk pertanyaan CodeChef .
sumber
Solusi tanpa impor untuk tanggal setelah 1700/1/1
sumber
Ini adalah solusi jika tanggal adalah objek datetime.
sumber
Jika Anda memiliki tanggal sebagai string, mungkin lebih mudah melakukannya dengan menggunakan cap waktu panda
Keluaran:
sumber
pustaka datetime terkadang memberikan kesalahan dengan strptime () jadi saya beralih ke pustaka dateutil. Berikut ini contoh bagaimana Anda dapat menggunakannya:
Output yang Anda dapatkan dari ini adalah
'Mon'
. Jika Anda ingin output sebagai 'Senin', gunakan yang berikut ini:Ini bekerja untuk saya cukup cepat. Saya mengalami masalah saat menggunakan perpustakaan datetime karena saya ingin menyimpan nama hari kerja alih-alih nomor hari kerja dan format dari menggunakan perpustakaan datetime menyebabkan masalah. Jika Anda tidak memiliki masalah dengan ini, bagus! Jika ya, Anda dapat menggunakan ini karena memiliki sintaks yang lebih sederhana. Semoga ini membantu.
sumber
Dengan asumsi Anda diberikan hari, bulan, dan tahun, Anda dapat melakukan:
sumber
strftime("%A")
alih-alihweekday()
Katakanlah Anda memiliki timeStamp: Variabel string, YYYY-MM-DD HH: MM: SS
langkah 1 : konversikan ke fungsi dateTime dengan kode tiup ...
Langkah 2 : Sekarang Anda dapat mengekstrak semua fitur yang diperlukan seperti di bawah ini yang akan membuat Kolom baru untuk setiap jam, bulan, hari dalam seminggu, tahun, tanggal
sumber
Jika Anda memiliki alasan untuk menghindari penggunaan modul datetime, maka fungsi ini akan berfungsi.
Catatan: Perubahan dari kalender Julian ke kalender Gregorian diasumsikan telah terjadi pada 1582. Jika ini tidak benar untuk kalender yang Anda minati maka ubah garis jika tahun> 1582: sesuai.
sumber
fg
danfj
, di dalam kondisi untuk mencegah perhitungan yang tidak perlu.Jika Anda tidak sepenuhnya bergantung pada
datetime
modul,calendar
mungkin merupakan alternatif yang lebih baik. Ini, misalnya, akan memberi Anda kode hari:Dan ini akan memberi Anda hari itu sendiri:
Atau dalam gaya python, sebagai satu liner:
sumber
Kami dapat mengambil bantuan Panda:
Seperti disebutkan di atas dalam masalah Kami memiliki:
Jika menjalankan baris ini di notebook jupyter kami memiliki output seperti ini:
Menggunakan weekday () dan weekday_name:
Jika Anda ingin hari kerja dalam format angka integer, gunakan:
Outputnya adalah:
Dan jika Anda menginginkannya sebagai nama hari seperti Minggu, Senin, Jumat, dll, Anda dapat menggunakan:
Outputnya adalah:
'Friday'
Jika memiliki kolom tanggal dalam bingkai data Pandas, maka:
Sekarang anggaplah jika Anda memiliki kerangka data panda yang memiliki kolom tanggal seperti ini: pdExampleDataFrame ['Dates']. Head (5)
Sekarang Jika kita ingin mengetahui nama hari kerja seperti Senin, Selasa, dll. Kita bisa menggunakan
.weekday_name
sebagai berikut:hasilnya adalah:
Dan jika kita ingin bilangan bulat hari kerja dari kolom Tanggal ini maka kita dapat menggunakan:
Outputnya akan terlihat seperti ini:
sumber
Sampel Keluaran
sumber
ini akan memberi Anda nomor hari Anda yang sebenarnya - 1 = minggu, 2 = Senin, dll ...
sumber
+1
? Sudah umum bahwa jumlah minggu dalam python dimulai pada minggu sebagai 0 dan Senin sebagai 1.Untuk mendapatkan hari Minggu 1 hingga Sabtu 7, ini adalah solusi paling sederhana untuk pertanyaan Anda:
Mereka semua:
Keluaran:
sumber
di sini adalah cara mengonversi daftar tanggal ke tanggal
sumber
Menggunakan Modul Canlendar
sumber
Berikut ini adalah implementasi python3 saya.
sumber
Di bawah ini adalah kode untuk memasukkan tanggal dalam format DD-MM-YYYY Anda dapat mengubah format input dengan mengubah urutan '% d-% m-% Y' dan juga dengan mengubah pembatas.
sumber
gunakan kode ini:
sumber
impor numpy sebagai np
tanggal def (df):
sumber