我想在Django日期过滤器中使用'c'
日期格式。那种格式引用了“天真”的日期。我不希望在我的模板中有时区(在我的xml中的其他位置)。
我不确定那是什么,django的文档没有提及它,它引用的PHP site也没有。
它是什么,我该如何摆脱它?
答案 0 :(得分:2)
文档引用了这些available types的python日期。
类型为time或
datetime
的对象可能是天真的或有意识的。一个datetime
对象d
知道d.tzinfo
是否为非且d.tzinfo.utcoffset(d)
不会返回None
。如果d.tzinfo
为None
,或d.tzinfo
不是None
但是d.tzinfo.utcoffset(d)
返回None
, d 是天真的。time
对象 t 是 知道t.tzinfo
不是None
而t.tzinfo.utcoffset(None)
不是None
返回import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0, pytz.UTC) now_aware = pytz.utc.localize(unaware) assert aware == now_aware
。否则, t 是天真的。
天真就意味着它没有任何时区信息。
为了让某些人“注意”,请按method:{/ p>跟随此unutbu
一般情况下,为了使天真的日期时间可识别,请使用localize method:
localize
对于UTC时区,没有必要使用
now_aware = unaware.replace(tzinfo=pytz.UTC)
因为没有夏令时计算来处理:.replace
的工作原理。 (
unaware
返回一个新的日期时间;它不会修改None
。)
要使其无意识,请将时区设置为declare @table table (Itemid Int,Vendorname varchar(10),VendorPrice DECIMAL(18,2))
insert into @table (Itemid,Vendorname,VendorPrice)
values (122,'HP',125.66),
(122,'Apple',130.44),
(122,'microsoft',134.00),
(122,'IBM',124.90)
Select Itemid,[HP] As HPPrice ,
[Apple] As ApplePrice,
[microsoft] As microsoftPrice,
[IBM] As IBMPrice from (
select Itemid,Vendorname,VendorPrice from @table)A
PIVOT(MAX(VendorPrice) FOR Vendorname IN ([HP],[Apple],[microsoft],[IBM]))P
。