要应用timedelta()
,您需要将字符串转换为日期时间。一种方法是使用strptime()
:
>>> from datetime import datetime,timedelta
>>> s = "2017-08-23"
>>> dt = datetime.strptime(s,"%Y-%m-%d")
>>> one_year_prior = dt - timedelta(days=365)
>>> one_year_prior
datetime.datetime(2016,8,23,0)
,
使用dateutil.parser创建日期
date(2012,1,1) + timedelta(days=365) → date(2012,12,31)
然后使用它
使用timedelta years年时请注意,可能会带来不便:
function btnLogin(){
firebase.auth().onAuthStateChanged(function(user){
if(user){
var time = new Date();
var options = {
weekday: "long",month: "long",day: "2-digit",year: "numeric",};
var message = $("#d").val();
var userId = firebase.auth().currentUser;
var uid = userId.uid;
var myref = firebase.database().ref('users').child(uid).child('Blogs');
var blogInformation =
{
"desc": message,"time": time.toLocaleString('en-US',{hour: 'numeric',minute: 'numeric',hour12: true}),"date": time.toLocaleDateString('en-US',options),"counter": 100000000 - counter
}
var newPostRef = myref.push();
newPostRef.set(blogInformation,function(err){
if(err){
$("#result").attr("class","alert alert-danger");
$("#result").html(err.message);
}else{
$("#result").attr("class","alert alert-success");
$("#result").html("Blog has been added successfully.");
window.open("","_self");
}
});
}
});
resetForm();
}
,
您的对象last_date
必须是datetime
对象。您可以使用last_date = datetime.date(<year>,<month>,<day>)
将其设置为日期时间对象,然后公式就可以正常工作了。您可以将结果对象转换为str
,以相同的格式获得答案。
,
这是一年前的事,应该也为您格式化
y = datetime.datetime(2017,23) - datetime.timedelta(days=1*365)
In [457]: y
datetime.datetime(2016,0)
print(str(y.year) + '-' + str(y.month) + '-' + str(y.day))
2016-8-23
本文链接:https://www.f2er.com/3130650.html