Hou*_*man 79 python django django-models
我遇到了一个有趣的情况.
class Company(models.Model):
date = models.DateField()
time = models.TimeField()
Run Code Online (Sandbox Code Playgroud)
使用此课程时:
c = Company(date=datetime.datetime.now(), time=datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)
Django决定DATETIME_INPUT_FORMATS在formats.py文件中使用defined.这是有道理的,因为我将datetime.now()传递给两个字段.
我想我能让Django的使用datetime.now()和DATE_INPUT_FORMATS分别,如果我只在当前日期和当前时间过去了.
像这样的东西:
c = Company(date=datetime.date.now(), time=datetime.time.now())
Run Code Online (Sandbox Code Playgroud)
但这引发了一个异常,因为现在不存在这样的异常.有没有不同的方法来实现这一目标?
非常感谢,
Amb*_*ber 138
对于该日期,您可以使用datetime.date.today()或datetime.datetime.now().date().
当时,你可以使用datetime.datetime.now().time().
但是,为什么首先要为这些提供单独的字段?为什么不单独使用DateTimeField?
您可以随时对返回的模型中定义的辅助功能.date()或.time()更高版本,如果你只需要一个或另一个.
Abd*_*zak 62
import datetime
datetime.datetime.now().strftime ("%Y%m%d")
20151015
Run Code Online (Sandbox Code Playgroud)
当时
from time import gmtime, strftime
showtime = strftime("%Y-%m-%d %H:%M:%S", gmtime())
print showtime
2015-10-15 07:49:18
Run Code Online (Sandbox Code Playgroud)
小智 21
import datetime
datetime.date.today() # Returns 2018-01-15
datetime.datetime.now() # Returns 2018-01-15 09:00
Run Code Online (Sandbox Code Playgroud)
Aks*_*ran 12
相关信息,针对问题...
在 django 中,用于timezone.now()datetime 字段,因为 django 支持timezone,它只是根据USE TZ设置返回 datetime ,或者简单地返回时区“感知”日期时间对象
作为参考,我有TIME_ZONE = 'Asia/Kolkata'和USE_TZ = True,
from django.utils import timezone
import datetime
print(timezone.now()) # The UTC time
print(timezone.localtime()) # timezone specified time,
print(datetime.datetime.now()) # default local time
# output
2020-12-11 09:13:32.430605+00:00
2020-12-11 14:43:32.430605+05:30 # IST is UTC+5:30
2020-12-11 14:43:32.510659
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅django 文档中的时区设置以及国际化和本地化。
import datetime
Run Code Online (Sandbox Code Playgroud)
当前日期和时间
print(datetime.datetime.now())
#2019-09-08 09:12:12.473393
Run Code Online (Sandbox Code Playgroud)
仅当前日期
print(datetime.date.today())
#2019-09-08
Run Code Online (Sandbox Code Playgroud)
仅限当年
print(datetime.date.today().year)
#2019
Run Code Online (Sandbox Code Playgroud)
仅当月
print(datetime.date.today().month)
#9
Run Code Online (Sandbox Code Playgroud)
仅限当天
print(datetime.date.today().day)
#8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
135275 次 |
| 最近记录: |