想要在具有特定日期格式的日期值的HTML5中初始化输入类型=“日期”的“min”属性

时间:2016-04-02 18:47:49

标签: javascript jquery angularjs html5

我的日期与下面提到的特定日期格式有关。

Date_received = Tue Apr 05 2016 00:00:00 GMT+0530 (India Standard Time)

我使用HTML5输入type =“date”datepicker获取此值。我想初始化以下'min'属性。

<input type="date" id="endDate" ng-model="user.endDate" min="" required />

我正在使用

var startDate = new Date(Date_received).toISOString().split('T')[0]; var myEl = angular.element( document.querySelector( '#endDate' ) ); myEl.attr('min',startDate);

但是这个(new Date(Date_received).toISOString())在实际日期前一天设置startDate的值。即,在此示例中,它设置startDate = 2016-04-04T18:30:00.000Z

的值

2 个答案:

答案 0 :(得分:1)

它是相同的值,但toISOString()输出您的UTC时区的值。

http://www.timeanddate.com/worldclock/converted.html?iso=20160405T00&p1=54&p2=0

如果要输出与“ISO”相同的格式,但是对于区域设置时区,则应该查看此解决方案:

How to ISO 8601 format a Date with Timezone Offset in JavaScript?

答案 1 :(得分:0)

使用Angular的$filter服务。在controller / directive

中注明它

JS:

scope.startDate = startDateReceivedFromBackend;
scope.minDate = $filter('date')(scope.startDate, "dd/MM/yyyy");

请在此处查看不同的格式:https://docs.angularjs.org/api/ng/filter/date

HTML:

<input type="date" id="endDate" ng-model="user.endDate" min="minDate" required />