回答(15)

2 years ago

使用 weekday() (docs):

>>> import datetime

>>> datetime.datetime.today()

datetime.datetime(2012, 3, 23, 23, 24, 55, 173504)

>>> datetime.datetime.today().weekday()

4

从文档:

以星期为单位返回星期几,其中星期一为0,星期日为6 .

2 years ago

在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')

2 years ago

如果日期是日期时间对象,则这是一种解决方案 .

import datetime

def dow(date):

days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]

dayNumber=date.weekday()

print days[dayNumber]

2 years ago

使用Canlendar模块

import calendar

a=calendar.weekday(year,month,day)

days=["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]

print(days[a])

2 years ago

如果您想要英文日期:

>>> from datetime import date

>>> datetime.datetime.today().strftime('%A')

'Wednesday'

2 years ago

如果您想要英文日期:

from datetime import date

import calendar

my_date = date.today()

calendar.day_name[my_date.weekday()] #'Wednesday'

2 years ago

我为codechef question解决了这个问题 .

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 years ago

这是我的python3实现 .

months = {'jan' : 1, 'feb' : 4, 'mar' : 4, 'apr':0, 'may':2, 'jun':5, 'jul':6, 'aug':3, 'sep':6, 'oct':1, 'nov':4, 'dec':6}

dates = {'Sunday':1, 'Monday':2, 'Tuesday':3, 'Wednesday':4, 'Thursday':5, 'Friday':6, 'Saterday':0}

ranges = {'1800-1899':2, '1900-1999':0, '2000-2099':6, '2100-2199':4, '2200-2299':2}

def getValue(val, dic):

if(len(val)==4):

for k,v in dic.items():

x,y=int(k.split('-')[0]),int(k.split('-')[1])

val = int(val)

if(val>=x and val<=y):

return v

else:

return dic[val]

def getDate(val):

return (list(dates.keys())[list(dates.values()).index(val)])

def main(myDate):

dateArray = myDate.split('-')

# print(dateArray)

date,month,year = dateArray[2],dateArray[1],dateArray[0]

# print(date,month,year)

date = int(date)

month_v = getValue(month, months)

year_2 = int(year[2:])

div = year_2//4

year_v = getValue(year, ranges)

sumAll = date+month_v+year_2+div+year_v

val = (sumAll)%7

str_date = getDate(val)

print('{} is a {}.'.format(myDate, str_date))

if __name__ == "__main__":

testDate = '2018-mar-4'

main(testDate)

2 years ago

为了让星期日从1到星期六为7,这是你问题最简单的解决方案:

datetime.date.today().toordinal()%7 + 1

他们都是:

import datetime

today = datetime.date.today()

sunday = today - datetime.timedelta(today.weekday()+1)

for i in range(7):

tmp_date = sunday + datetime.timedelta(i)

print tmp_date.toordinal()%7 + 1, '==', tmp_date.strftime('%A')

输出:

1 == Sunday

2 == Monday

3 == Tuesday

4 == Wednesday

5 == Thursday

6 == Friday

7 == Saturday

2 years ago

datetime库有时会出现strptime()的错误,所以我切换到dateutil库 . 以下是如何使用它的示例:

from dateutil import parser

parser.parse('January 11, 2010').strftime("%a")

您从中获得的输出是 'Mon' . 如果您希望输出为'Monday',请使用以下命令:

parser.parse('January 11, 2010').strftime("%A")

这对我来说非常快 . 我在使用datetime库时遇到了问题,因为我想存储工作日名称而不是工作日编号,而使用datetime库的格式导致了问题 . 如果你没有遇到这个问题,太好了!如果你是,你可以肯定地去做,因为它有一个更简单的语法 . 希望这可以帮助 .

2 years ago

假设您获得了日,月和年,您可以:

import datetime

DayL = ['Mon','Tues','Wednes','Thurs','Fri','Satur','Sun']

date = DayL[datetime.date(year,month,day).weekday()] + 'day'

#Set day, month, year to your value

#Now, date is set as an actual day, not a number from 0 to 6.

print(date)

2 years ago

如果您有理由避免使用datetime模块,那么此功能将起作用 .

注意:假设从Julian到公历的变化发生在1582年 . 如果您感兴趣的日历不适用,那么如果年份> 1582则更改行:相应地 .

def dow(year,month,day):

""" day of week, Sunday = 1, Saturday = 7

http://en.wikipedia.org/wiki/Zeller%27s_congruence """

m, q = month, day

if m == 1:

m = 13

year -= 1

elif m == 2:

m = 14

year -= 1

K = year % 100

J = year // 100

f = (q + int(13*(m + 1)/5.0) + K + int(K/4.0))

fg = f + int(J/4.0) - 2 * J

fj = f + 5 - J

if year > 1582:

h = fg % 7

else:

h = fj % 7

if h == 0:

h = 7

return h

2 years ago

如果您不仅仅依赖于 datetime 模块, calendar 可能是更好的选择 . 例如,这将为您提供日期代码:

calendar.weekday(2017,12,22);

这会给你一天的感觉:

days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]

days[calendar.weekday(2017,12,22)]

或者以python的风格,作为一个班轮:

["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][calendar.weekday(2017,12,22)]

2 years ago

这里是如何将日期列表转换为日期

import datetime,time

ls={'1/1/2007','1/2/2017'}

dt=datetime.datetime.strptime(ls[1], "%m/%d/%Y")

print(dt)

print(dt.month)

print(dt.year)

python获取星期几_如何在Python中获取日期的星期几?相关推荐

  1. java+script+当前日期_如何在JavaScript中获取当前日期?

    如何在JavaScript中获取当前日期? #1楼 您可以使用扩展了 Date对象的Date.js库,从而可以使用.today()方法. #2楼 如果您想对日期格式进行更多的粒度控制,我强烈建议您查看 ...

  2. php mysql 到表最后_如何在PHP中获取MySQL表的最后插入ID?

    如何在PHP中获取MySQL表的最后插入ID? 我有一张表,经常插入新数据. 我需要获取表格的最后一个ID. 我怎样才能做到这一点? 它类似于SELECT MAX(id) FROM table吗? g ...

  3. java文件中获取创建日期_如何在Java中获取文件的上次修改日期

    java文件中获取创建日期 Sometimes we need to get the file last modified date in Java, usually for listeners li ...

  4. jquery 获取同级元素_如何在jQuery中获取元素的同级

    jquery 获取同级元素 In this post, we will discuss how to get the siblings of an HTML element in jQuery. jQ ...

  5. sql中日期的比较_如何在SQL中比较日期?

    sql中日期的比较 How to compare date in SQL? For example, the 'users' table has a column 'loggin' which is ...

  6. python 线性回归模型_如何在Python中建立和训练线性和逻辑回归ML模型

    python 线性回归模型 Linear regression and logistic regression are two of the most popular machine learning ...

  7. unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?

    Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...

  8. python进程暂停_如何在Python中暂停多进程?

    我希望用户能够在怎么开始的实现它?在 我的代码是:# -*- coding: utf-8 -*- from PySide import QtCore, QtGui from Ui_MainWindow ...

  9. python 拟合正态分布_如何在Python中拟合双高斯分布?

    我试图使用Python获得数据(link)的双高斯分布.原始数据的格式为: 对于给定的数据,我想获得图中所示峰值的两个高斯分布.我用以下代码(source)进行了尝试:from sklearn imp ...

最新文章

  1. 宏基因组、微生物、环境杂志影响因子(IF)及变化分析
  2. libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用
  3. poj2513 Fence Repair(小根堆)
  4. 利用HttpClient 获取网页数据java代码模版
  5. Java中线程池,你真的会用吗
  6. The more, The Better(HDU-1561)
  7. 【开发者portal在线开发插件系列三】字符串 及 可变长度字符串
  8. git(4)---Git、Repo、Gerrit三者的区别
  9. 判断位数(Java)
  10. 字典、集合与字符串——Python基础语法
  11. 使用FlyMcu ISP清除 STM32F411CE 芯片卡死
  12. 工程数学线性代数(同济版)第一到六章答案大全线代答案工程数学线代答案
  13. AutoCAD2018_输出与打印
  14. 没有密码,如何取消Word文档的只读模式?
  15. communicate(communicate with sb等于)
  16. Linux下修改conda环境下的pip安装目录
  17. 【新手上路】语法入门算法入门题单
  18. Keil MDK 选中相同变量 高亮突出显示
  19. echarts3 清空上一次加载的series数据
  20. 大数据分析培训好就业吗

热门文章

  1. 安卓 camera API2 下发Reuqest的接口流程
  2. 财路网每日原创推送:超90%容错共识算法,如何实现?
  3. 硅步机器人-Shadow先进仿人灵巧手
  4. 互联网日报 | 美团市值超2000亿美元;蚂蚁集团完成A股上市辅导;微博快手纷纷宣布收购KPL战队...
  5. 计算机在通信工程中的应用作文,通信技术在智能电网中的应用
  6. php http form的格式,multipart/form-data 格式的http请求,以及lua构造实现
  7. 王道机试指南NO.8最大公约数
  8. 注定与众不同_没有原因的数据注定会使我们失败
  9. Win10没有安全选项卡怎么办 安全选项卡在哪里
  10. is are am 三者的区别