python - 如何从Django中的时间戳中仅提取一天
问题描述
我想从(2021-8-3)中得到一个特定的日期,比如“8”,但它的显示如下图
如何提取特定日期?
usertime = User.objects.filter(groups__name = 'patient').values('date_joined').annotate(date_only=Cast('date_joined', DateField()))
解决方案
from django.db.models import F, Func,Value, CharField
usertime = (User.objects.filter(groups__name = 'patient').values('date_joined')
.annotate(date_only=Func(
F('date_joined'),
Value('MM'),
function='to_char',
output_field=CharField()
)
).values('date_only'))
试试这个,从@Yannics 的答案中得到参考:https ://stackoverflow.com/a/60924664/5804947
您可以在字段下进一步使用YYYY
/DD
分别表示年份/日期,Value
并且在使用 PostgreSQL 数据库时可以正常工作。
另一种方法
from django.db.models.functions import Extract
usertime = User.objects.filter(groups__name = 'patient').values('date_joined').annotate(date_only=Extract('date_joined', 'month'))
推荐阅读
- ruby-on-rails - Rails 从深度关联中获取计数
- microservices - 如何在 Istio 中记录请求和响应正文
- java - 提供给 orElse() 的方法不完全执行
- laravel - Laravel 工厂无法保存关系
- javascript - 尽管超时会出现 Div
- java - centos上的liquibase安装,JNI错误
- ssl - - IOException AMC java.security.cert.CertificateException:找不到与 api.mitel-amc.com 匹配的主题备用 DNS 名称
- javascript - 引导下拉多选 Onchange 不起作用
- javascript - UTF-8 编码在飞碟中不起作用
- c# - C# DateTime toString 在 Windows Server 2012 和 2016 上的行为不同