Jquery ui 角度UI日期中的日期减去一天
形势 我想使用ui日期在我的应用程序中设置/编辑日期。我使用angular、angular ui、jquery ui等的最新稳定版本 问题 使用日期选择器选择日期后,我的模型中的日期将等于所选日期减去1天。它也将被发送到我的服务器,并以这种方式保存在我的数据库中 暴徒 最初,datepicker输入中的日期与我的模型中的日期相同。在选择了一个日期之后,它们就不同了 问题Jquery ui 角度UI日期中的日期减去一天,jquery-ui,angularjs,angular-ui,Jquery Ui,Angularjs,Angular Ui,形势 我想使用ui日期在我的应用程序中设置/编辑日期。我使用angular、angular ui、jquery ui等的最新稳定版本 问题 使用日期选择器选择日期后,我的模型中的日期将等于所选日期减去1天。它也将被发送到我的服务器,并以这种方式保存在我的数据库中 暴徒 最初,datepicker输入中的日期与我的模型中的日期相同。在选择了一个日期之后,它们就不同了 问题 这里(g)上的(wr)是什么?ui-date期望您的模型是实际的日期对象。在你的情况下,这是一个字符串。如果你看一下控制台,你
这里(g)上的(wr)是什么?ui-date期望您的模型是实际的日期对象。在你的情况下,这是一个字符串。如果你看一下控制台,你会发现angularUI实际上会告诉你这一点。然后,它建议您使用指定的日期格式添加额外的ui日期格式标记,并使用该标记将日期字符串解析为日期对象 长话短说,您需要调整输入,如下所示:
<input ui-date="{dateFormat: 'yy-mm-dd'}" ui-date-format="yy-mm-dd" ng-model="customer.contract_end_date"></input>
问题是angular在解析datepicker上选择的日期时使用了默认时区。要解决此问题,可以使用接受“时区”参数的ng model options指令
<input type="text" ng-model-options="{timezone:'UTC'}" ... >
这解决了我的问题。
angularjs使用考虑小时时间的默认时区。正在将ng模型的时区选项设置为UTC净小时时间
ng-model-options="{timezone:'UTC'}"
我根据需要将日期格式设置为dd-mm-yyyy。然后将日期类型设置为字符串
<input type="text" class="form-control col-xs-9"
data-date-format="dd-MM-yyyy" data-autoclose="1"
ng-model="modelName"
date-type="string" bs-datepicker required>
我确实使用了ui日期格式
指令,但没有值。早些时候,我没有使用“{dateFormat:'yy-mm-dd'}”
,所以它不起作用,我在某个地方迷失了方向,因为我没有这样尝试。Thnx@stewie!jQueryUI配置选项有点神秘。我自己经常被它们弄糊涂。AngularJS的新版本中已经放弃了对日期类型字符串的支持