您的问题不详细,但请尝试以下操作:
import datetime
userinput = input("Enter Date DD-MM-YYYY")
birthday = datetime.datetime.strptime(userinput, '%d-%m-%Y').date()
print(birthday)
输出:
2020-05-02
您需要为用户指定输入格式,然后使用strptime() 函数将其转换为日期格式。见上面的input format,见上面的OUTPUT
编辑
这是在 Django 中的操作方法:
模型.py
from django.db import models
import datetime
# Create your models here.
class Calculator(models.Model):
deadline = models.DateField(null=True)
def __str__(self):
return self.deadline
forms.py
from .models import Calculator
class CalculatorForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
''' remove any labels here if desired
'''
super(CalculatorForm, self).__init__(*args, **kwargs)
# you can also remove labels of built-in model properties
self.fields['deadline'].label = ''
class Meta:
model = Calculator
fields = ['deadline']
widgets = {
'deadline': forms.DateInput(attrs={'class': 'datepicker', 'placeholder': 'mm-dd-YYYY'})
}
views.py
from django.shortcuts import render,redirect
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse
from .forms import CalculatorForm
from .models import Calculator
import time
import datetime
# Create your views here.
def home(request):
today = datetime.date.today()
form = CalculatorForm(request.POST)
# If this is a POST request then process the Form data
if form.is_valid():
instance = form.save()
currentdate = datetime.date.today()
userinput = str(instance.deadline)
birthday = datetime.datetime.strptime(userinput, '%d-%m-%Y').date()
days = birthday - currentdate
daysLeft = 'Days to your event is ' , days
#return render(request, 'calculator/check.html', {'days':days})
return HttpResponse(daysLeft)
context = {
'form': form,
}
我使用了一个简单的日期计算器来展示如何在 Django 中执行此操作。希望能解决你的问题