Sử dụng
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
6:>>> import datetime
>>> datetime.datetime.today[]
datetime.datetime[2012, 3, 23, 23, 24, 55, 173504]
>>> datetime.datetime.today[].weekday[]
4
Từ tài liệu:
Trả lại ngày trong tuần với tư cách là một số nguyên, trong đó Thứ Hai là 0 và Chủ nhật là 6.
Tomerikoo
16.8K15 Huy hiệu vàng38 Huy hiệu bạc57 Huy hiệu đồng15 gold badges38 silver badges57 bronze badges
Đã trả lời ngày 23 tháng 3 năm 2012 lúc 22:26Mar 23, 2012 at 22:26
Simeon Vissersimeon VisserSimeon Visser
Huy hiệu vàng 116K1818 gold badges178 silver badges178 bronze badges
6
Nếu bạn muốn có ngày bằng tiếng Anh:
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
Uri
24.2K10 Huy hiệu vàng40 Huy hiệu bạc69 Huy hiệu đồng10 gold badges40 silver badges69 bronze badges
Đã trả lời ngày 8 tháng 4 năm 2015 lúc 15:43Apr 8, 2015 at 15:43
Từ đồng nghĩa của Sedddddyseddonym
15.7k6 huy hiệu vàng64 Huy hiệu bạc71 Huy hiệu đồng6 gold badges64 silver badges71 bronze badges
3
Sử dụng
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
7 khi thứ Hai là 0 và Chủ nhật là 6hoặc
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
8 khi Thứ Hai là 1 và Chủ nhật là 7
Đã trả lời ngày 23 tháng 3 năm 2012 lúc 22:24Mar 23, 2012 at 22:24
orlporlporlp
109K34 Huy hiệu vàng205 Huy hiệu bạc 307 Huy hiệu đồng34 gold badges205 silver badges307 bronze badges
1
Tôi đã giải quyết điều này cho một câu hỏi Codechef.
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
Đã trả lời ngày 23 tháng 3 năm 2012 lúc 22:36Mar 23, 2012 at 22:36
Ashwini Chaudharyashwini ChaudharyAshwini Chaudhary
238K56 Huy hiệu vàng451 Huy hiệu bạc499 Huy hiệu Đồng56 gold badges451 silver badges499 bronze badges
0
Một giải pháp nhập khẩu nhập khẩu cho ngày sau 1700/1/1
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
Đã trả lời ngày 15 tháng 6 năm 2013 lúc 5:18Jun 15, 2013 at 5:18
3
Nếu bạn có ngày như một chuỗi, có thể dễ dàng thực hiện nó bằng cách sử dụng dấu thời gian của Pandas
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
Output:
4 Friday
Đã trả lời ngày 12 tháng 4 năm 2019 lúc 9:48Apr 12, 2019 at 9:48
Vlad Bezdenvlad BezdenVlad Bezden
77.3K23 Huy hiệu vàng245 Huy hiệu bạc177 Huy hiệu đồng23 gold badges245 silver badges177 bronze badges
Đây là một đoạn mã đơn giản để giải quyết vấn đề này
import datetime
intDay = datetime.date[year=2000, month=12, day=1].weekday[]
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
print[days[intDay]]
Đầu ra phải là:
Friday
Đã trả lời ngày 21 tháng 7 năm 2020 lúc 16:46Jul 21, 2020 at 16:46
F.E.AF.E.AF.E.A
1511 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
Đây là một giải pháp nếu ngày là một đối tượng DateTime.
import datetime
def dow[date]:
days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
dayNumber=date.weekday[]
print days[dayNumber]
Đã trả lời ngày 29 tháng 10 năm 2015 lúc 14:01Oct 29, 2015 at 14:01
RodrigorodrigoRodrigo
Huy hiệu đồng 1451 Bạc3 Huy hiệu Đồng1 silver badge3 bronze badges
Giả sử bạn có dấu thời gian: biến chuỗi, yyyy-mm-dd hh: mm: sstimeStamp: String variable, YYYY-MM-DD HH:MM:SS
Bước 1: Chuyển đổi nó thành chức năng DateTime bằng mã thổi ...: convert it to dateTime function with blow code...
df['timeStamp'] = pd.to_datetime[df['timeStamp']]
Bước 2: Bây giờ bạn có thể trích xuất tất cả các tính năng cần thiết như dưới đây sẽ tạo cột mới cho mỗi giờ, tháng, tháng, ngày của tuần, năm, ngày : Now you can extract all the required feature as below which will create new Column for each of the fild- hour,month,day of week,year, date
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
0
Đã trả lời ngày 20 tháng 2 năm 2019 lúc 5:49Feb 20, 2019 at 5:49
Shiv948Shiv948Shiv948
4294 Huy hiệu bạc11 Huy hiệu đồng4 silver badges11 bronze badges
1
Thư viện DateTime đôi khi đưa ra lỗi với Strptime [] vì vậy tôi đã chuyển sang Thư viện DateUtil. Đây là một ví dụ về cách bạn có thể sử dụng nó:
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
1Đầu ra mà bạn nhận được từ điều này là
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
9. Nếu bạn muốn đầu ra là 'Thứ Hai', hãy sử dụng như sau:from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
2Điều này làm việc cho tôi khá nhanh. Tôi đã gặp sự cố khi sử dụng thư viện DateTime vì tôi muốn lưu trữ tên ngày trong tuần thay vì số ngày trong tuần và định dạng từ việc sử dụng thư viện DateTime gây ra vấn đề. Nếu bạn không gặp vấn đề với điều này, thật tuyệt! Nếu bạn là, bạn chắc chắn sẽ thực hiện điều này vì nó cũng có cú pháp đơn giản hơn. Hi vọng điêu nay co ich.
Đã trả lời ngày 12 tháng 3 năm 2017 lúc 0:01Mar 12, 2017 at 0:01
Giả sử bạn được tặng ngày, tháng và năm, bạn có thể làm:
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
3Đã trả lời ngày 22 tháng 4 năm 2014 lúc 22:38Apr 22, 2014 at 22:38
Mathwizurdmathwizurdmathwizurd
1.31713 huy hiệu bạc15 huy hiệu đồng13 silver badges15 bronze badges
1
Nếu bạn có lý do để tránh việc sử dụng mô -đun DateTime, thì chức năng này sẽ hoạt động.
Lưu ý: Sự thay đổi từ lịch Julian sang lịch Gregorian được cho là đã xảy ra vào năm 1582. Nếu điều này không đúng với lịch quan tâm của bạn thì hãy thay đổi dòng nếu năm> 1582: theo đó.
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
4Đã trả lời ngày 11 tháng 5 năm 2015 lúc 17:59May 11, 2015 at 17:59
Barry Andersenbarry AndersenBarry Andersen
4472 Huy hiệu vàng6 Huy hiệu bạc8 Huy hiệu đồng2 gold badges6 silver badges8 bronze badges
1
Điều này không cần phải bình luận trong tuần. Tôi đề nghị mã này ~!
I recommend this code~!
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
5Đã trả lời ngày 21 tháng 1 năm 2021 lúc 10:23Jan 21, 2021 at 10:23
Seunggabiseunggabiseunggabi
1.52610 huy hiệu bạc11 huy hiệu đồng10 silver badges11 bronze badges
Nếu bạn không chỉ phụ thuộc vào mô -đun
4 Friday
0, 4 Friday
1 có thể là một sự thay thế tốt hơn. Điều này, ví dụ, sẽ cung cấp cho bạn mã ngày:from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
6Và điều này sẽ cho bạn ngày:
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
7Hoặc theo phong cách của Python, như một lớp lót:
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
8Đã trả lời ngày 22 tháng 12 năm 2017 lúc 3:51Dec 22, 2017 at 3:51
AnacronismanacronismAnaCronIsm
511 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges
from datetime import date
import calendar
my_date = date.today[]
calendar.day_name[my_date.weekday[]] #'Wednesday'
9Điều này sẽ cung cấp cho bạn số ngày thực của bạn - 1 = Chủ nhật, 2 = Thứ Hai, v.v. ...
Đã trả lời ngày 20 tháng 5 năm 2019 lúc 9:10May 20, 2019 at 9:10
1
Để nhận được Chủ nhật từ 1 đến thứ bảy như 7, đây là giải pháp đơn giản nhất cho câu hỏi của bạn:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
0Tất cả bọn họ:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
1Output:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
2Đã trả lời ngày 9 tháng 5 năm 2014 lúc 1:47May 9, 2014 at 1:47
ox.ox.ox.
3,3491 Huy hiệu vàng19 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge19 silver badges20 bronze badges
1
Chúng tôi có thể nhờ sự giúp đỡ của gấu trúc:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
3Như đã đề cập ở trên trong vấn đề chúng tôi có:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
4Nếu thực hiện dòng này trong sổ ghi chép Jupyter, chúng ta có một đầu ra như sau:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
5Sử dụng Day Day [] và Weekay_Name:
Nếu bạn muốn các ngày trong tuần ở định dạng số nguyên thì hãy sử dụng:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
6Đầu ra sẽ là:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
7Và nếu bạn muốn nó là tên của ngày như Chủ nhật, Thứ Hai, Thứ Sáu, v.v ... Bạn có thể sử dụng:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
8Đầu ra sẽ là:
4 Friday
2Và nếu bạn muốn nó là tên của ngày như Chủ nhật, Thứ Hai, Thứ Sáu, v.v ... Bạn có thể sử dụng:
Nếu có một cột ngày trong Pandas DataFrame thì:
import datetime
dt = '21/03/2012'
day, month, year = [int[x] for x in dt.split['/']]
ans = datetime.date[year, month, day]
print [ans.strftime["%A"]]
9Bây giờ giả sử nếu bạn có một gấu trúc DataFrame có cột ngày như thế này: pdexampledataframe ['dates']. Head [5]
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
0Đầu ra sẽ là:
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
1Và nếu chúng ta muốn số nguyên của ngày trong tuần từ cột ngày này thì chúng ta có thể sử dụng:
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
2Đầu ra sẽ trông như thế này:
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
3Đã trả lời ngày 23 tháng 1 năm 2019 lúc 7:39Jan 23, 2019 at 7:39
1
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
4Mẫu đầu ra
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
5Đã trả lời ngày 3 tháng 2 năm 2019 lúc 18:04Feb 3, 2019 at 18:04
nsky80nsky80nsky80
1055 Huy hiệu bạc8 Huy hiệu đồng5 silver badges8 bronze badges
2
Nếu bạn muốn tạo một cột có phạm vi ngày [
4 Friday
4] và tạo một cột đi đến cái đầu tiên và gán vào ngày tuần [4 Friday
5], hãy làm như sau [tôi sẽ sử dụng các ngày từ 4 Friday
6 đến 4 Friday
7]:def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
6Đầu ra là như sau:
4 Friday
5 thay đổi từ 0 đến 6, trong đó 0 tương ứng với Thứ Hai và 6 đến Chủ nhật.Đã trả lời ngày 6 tháng 7 năm 2020 lúc 8:51Jul 6, 2020 at 8:51
Gonçalo peresgonçalo peresGonçalo Peres
9.1973 Huy hiệu vàng45 Huy hiệu bạc71 Huy hiệu đồng3 gold badges45 silver badges71 bronze badges
Dưới đây là cách chuyển đổi danh sách các ngày chuỗi endian nhỏ thành
4 Friday
0:def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
7
Tế bào thần kinh
4.6924 Huy hiệu vàng33 Huy hiệu bạc54 Huy hiệu đồng4 gold badges33 silver badges54 bronze badges
Đã trả lời ngày 10 tháng 7 năm 2017 lúc 2:05Jul 10, 2017 at 2:05
Một tùy chọn đơn giản, đơn giản và vẫn chưa được đề cập:
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
8Đã trả lời ngày 11 tháng 8 năm 2020 lúc 0:36Aug 11, 2020 at 0:36
RomanromanRoman
16.8k11 Huy hiệu vàng82 Huy hiệu bạc83 Huy hiệu đồng11 gold badges82 silver badges83 bronze badges
Nếu bạn là người dùng Trung Quốc, bạn có thể sử dụng gói này: //github.com/lki/chinese-calendar
def weekDay[year, month, day]:
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += [aux + afterFeb] * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + [aux + 100] / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + [day - 1]
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay[2013, 6, 15] == [6, 'Saturday']
print weekDay[1969, 7, 20] == [0, 'Sunday']
print weekDay[1945, 4, 30] == [1, 'Monday']
print weekDay[1900, 1, 1] == [1, 'Monday']
print weekDay[1789, 7, 14] == [2, 'Tuesday']
9Đã trả lời ngày 8 tháng 4 lúc 2:54Apr 8 at 2:54
Fan Yangfan YangFan Yang
4906 Huy hiệu bạc8 Huy hiệu Đồng6 silver badges8 bronze badges
Đây là một cách mới mẻ. Chủ nhật là 0.
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
0Đã trả lời ngày 16 tháng 6 lúc 15:24Jun 16 at 15:24
LazingerlazyerLazyer
8311 Huy hiệu vàng6 Huy hiệu bạc15 Huy hiệu đồng1 gold badge6 silver badges15 bronze badges
1
Sử dụng mô -đun Canlendar
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
1Đã trả lời ngày 21 tháng 2 năm 2018 lúc 18:34Feb 21, 2018 at 18:34
Ravi Bhushanravi BhushanRavi Bhushan
8722 Huy hiệu vàng10 Huy hiệu bạc18 Huy hiệu đồng2 gold badges10 silver badges18 bronze badges
Đây là triển khai Python3 của tôi.
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
2Đã trả lời ngày 4 tháng 3 năm 2018 lúc 8:18Mar 4, 2018 at 8:18
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
3
Tomerikoo
16.8K15 Huy hiệu vàng38 Huy hiệu bạc57 Huy hiệu đồng15 gold badges38 silver badges57 bronze badges
Đã trả lời ngày 27 tháng 12 năm 2019 lúc 14:36Dec 27, 2019 at 14:36
Dưới đây là mã nhập ngày theo định dạng của DD-MM-YYYY, bạn có thể thay đổi định dạng đầu vào bằng cách thay đổi thứ tự '%d-%m-%y' và cả bằng cách thay đổi dấu phân cách.
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
4Đã trả lời ngày 10 tháng 6 năm 2020 lúc 5:30Jun 10, 2020 at 5:30
Sử dụng mã này:
import pandas as pd
df = pd.Timestamp["2019-04-12"]
print[df.dayofweek, df.weekday_name]
5
Nikaido
4.1465 Huy hiệu vàng32 Huy hiệu bạc44 Huy hiệu đồng5 gold badges32 silver badges44 bronze badges
Đã trả lời ngày 9 tháng 9 năm 2019 lúc 16:21Sep 9, 2019 at 16:21