Python日期与字符串互转

1⃣️str -> date

import datetime
detester = '2017-01-01'
d1 = datetime.datetime.strptime(detester,"%Y-%m-%d")
print d1,type(d1)
d2 = d1.date()
print d2,type(d2)
#运行结果

 2017-01-01 00:00:00 <type 'datetime.datetime'>
 2017-01-01 <type 'datetime.date'>

 2⃣️date -> str

import datetime
d =  datetime.datetime.now()
print d,type(d)
d = d.strftime("%Y-%m-%d")
print d,type(d)

#运行结果;

 2019-11-03 16:08:30.672000 <type 'datetime.datetime'>
 2019-11-03 <type 'str'>

如何用Python在指定日期上减去7天?

可以使用datetime包的timedelta,timedelta用于表示两个datetime时间的时间差,可以直接与datetime实例相加减

from datetime import datetime, timedelta
d = datetime.now()
d1 = d + timedelta(days=-7)
d2 = d - timedelta(days=7)

python 获得日期是星期几

from datetime import datetime,date

dayOfWeek = datetime.now().weekday()
print dayOfWeek

dayOfWeek = datetime.today().weekday()
print dayOfWeek

datetime类的weekday()方法可以获得datetime是星期几,注意weekday() 返回的是0-6是星期一到星期日

python 格式化日期

# -*- coding:utf-8 -*-
import time
#当前时间
print time.time()
#时间戳形式
print time.localtime(time.time())
#简单可读形式
print time.asctime( time.localtime(time.time()) )
# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 
# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) 
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
1481036968.19
time.struct_time(tm_year=2016, tm_mon=12, tm_mday=6, tm_hour=23, tm_min=9, tm_sec=28, tm_wday=1, tm_yday=341, tm_isdst=0)
Tue Dec 06 23:09:28 2016
2016-12-06 23:09:28
Tue Dec 06 23:09:28 2016
1459175064.0

python 字符串日期加减后怎么比较

转成datetime处理,处理好了再转成字符串

import datetime

b = datetime.datetime.strptime("2016-3-1", "%Y-%m-%d")
c = b + datetime.timedelta(days=-2)
print(c.strftime("%Y-%m-%d"))

python 计算时间差 字符串

#coding:utf8
import datetime
def time_differ(date1='12:55:05',date2='13:15:05'):
    '''
    @传入是时间格式如'12:55:05'
    '''
    date1=datetime.datetime.strptime(date1,"%H:%M:%S")
    date2=datetime.datetime.strptime(date2,"%H:%M:%S")
    if date1 < date2:        
        return date2-date1
    else:
        return date1-date2

date1 = '13:05:05'
date2 = '13:15:05'
differ = time_differ(date1,date2)

print differ

python3 datetime() 模块之 timedelta() 类

datetime 模块定义了下面的几个类:

datetime.date:表示日期的类。常用的属性有year, month, day;
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
datetime.datetime:表示日期时间。
datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
datetime.tzinfo:与时区有关的相关信息

datetime.timedelta 类

该类注意用来计算前后的时间 =大师兄python

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

注意参数中没有年的选项,可以使用 weeks=56 来表示一年。

import datetime
day = datetime.datetime.now()
ddelay = datetime.timedelta(days=1)
wdelay = datetime.timedelta(weeks = 5)
ydelay = datetime.timedelta(weeks = 56)

print(day)
print(day - ddelay)  # 一天前的时间
print(day + ddelay)  # 一天后的时间
print(day - wdelay)  # 5 周前
print(day + wdelay)  # 5 周后
print(day - ydelay)  # 一年前
print(day + ydelay)  # 一年后

Python 日期如何将“20130325”转换为“2013,03,25”格式?

import time
time.strftime('%Y, %m, %d', time.strptime('20130325', '%Y%m%d'))

python 如何获取毫秒级系统时间

在datetime模块,使用格式化符号 '%f'。

import datetime
 
time_now = datetime.datetime.now().strftime('%H:%M:%S.%f')
print(time_now)

 

python将Unix时间戳转换成时间

将时间戳转换成时间

在时间戳转换成时间中,首先需要将时间戳转换成localtime,再转换成时间的具体格式:

  • 利用localtime()函数将时间戳转化成localtime的格式
  • 利用strftime()函数重新格式化时间
#coding:UTF-8
import time

timestamp = 1462451334

#转换成localtime
time_local = time.localtime(timestamp)
#转换成新的时间格式(2016-05-05 20:28:54)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)

print(dt)

python日期格式化操作

1、python里使用time模块来获取当前的时间
#!/usr/bin/python
import time
print (time.strftime("%H:%M:%S"))
## 12 hour format ##
print (time.strftime("%I:%M:%S"))
#:输出
#18:11:30
#6:11:30


2、打印出当前的日期的python程序
!/usr/bin/python
import time
## dd/mm/yyyy格式
print (time.strftime("%d/%m/%Y"))
#输出:
11/03/2014


3、使用datetime模块来获取当前的日期和时间
#!/usr/bin/python
import datetime
i = datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是  %s" %i.second)

4、时间戳和字符串的互相转化

# 字符串格式化时间转换时间戳
str_time = '2018-1-17'
print(time.mktime(time.strptime(str_time,'%Y-%m-%d')))

# 时间戳转换成格式化的时间字符串
gsh_time= time.time()
print(time.strftime('%Y-%m-%d',time.localtime(gsh_time)))

# datetime对象转换成时间戳
dt = datetime.datetime.now()
print(time.mktime(dt.timetuple()))

# 时间戳转换成datetime对象
sjc_time = time.time()
print(datetime.datetime.fromtimestamp(sjc_time))
#-----------------字符串日期和时间戳相互转换例子-----------------
# import time
# #字符串日期转换为时间戳
# a = "2018-12-01 10:11:12"
# timearray = time.strptime(a,"%Y-%m-%d %H:%M:%S")#先将字符串转换为时间数组
# print timearray
# timestamp =  int(time.mktime(timearray))#时间数组转换为时间戳
# print timestamp
# #时间戳转换为时间格式
# print time.localtime()
# timearray = time.localtime(timestamp)#先转换为时间数组
# print time.strftime("%Y-%m-%d %H:%M:%S",timearray)
# exit(0)