Angularjs Bootstrap datepicker令人惊叹。但是当我尝试通过javascript选择日期时,我遇到了问题。例如,如果从特定对象4/5/1990读取此数据,如何将日期选择器选择日期作为该日期:4/5/1990?
提示:当我将数据提供给用户进行编辑时,我需要这个。
看看我目前的代码:
HTML
$scope.Birthdate = $scope.users[id].Birthdate;
JS
TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
但所选日期有两种情况:
第一种情况:如果日期是4/5/1986,它会交换日期格式的日期和月份。即:4/5/1990 ---变成---> 1990年5月4日
第二种情况:在此日期的情况下没有选择日期:28/5/1986
当我从对象中读取日期选择器时,请帮我选择日期选择器中的日期,如果它是4/51990,则日期选择器选择日期应该是那个没有混乱的日期。如果我的日期是28/5/1986,那么datepicker应该坚持/选择那个日期。
答案 0 :(得分:1)
看到这个plnkr http://plnkr.co/edit/mDHliPweKoUNOAmVv5oo?p=preview
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<pre>Raw date is: <em>{{dt}}</em></pre>
答案 1 :(得分:1)
问题1 :如果从特定对象4/5/1990读取此数据,如何将日期选择器选择日期作为该日期:4/5/1990 第一种情况:如果日期是4/5/1986,它会交换日期格式的日期和月份。即:4/5/1990 ---变成---&gt; 1990年5月4日 覆盖今天的功能:
$scope.today = function() {
$scope.dt = "4/5/1990"; }; $scope.today();
问题2 :如果是这个日期,则不会选择日期:28/5/1986 回答:使用moment.js。这是因为使用字符串来设置日期总是错误的。它总是建议使用一些标准的lib。
$scope.today = function() {
$scope.dt = moment("28/5/1986", "DD-MM-YYYY").format();}; $scope.today();
当您想要格式化日期时,Moment JS是一个很棒的库。
答案 2 :(得分:0)
datepicker的返回日期是2015-06-03T15:25:51.211Z。但我将其截断为:2015-06-03并将其保存在数据库中。
现在出现问题,当我将2015-06-03绑定到datepicker时,它不接受它。它仅接受此:2015-06-03T15:25:51.211Z
这是我发现的问题,我通过不截断日期并将其存储为2015-06-03T15:25:51.211Z解决了这个问题。 datepicker能够将其绑定以供用户编辑。
答案 3 :(得分:0)
@AbuTaha:使用时刻js也可以解决这个问题。
$scope.today = function() {
$scope.dt = moment("2015-06-03T15:25:51.211Z", "YYYY-MM-DD").format(); }; $scope.today();