angularjs – angular-pickadate timezone – selectedDate是其
发布时间:2020-12-17 10:24:28 所属栏目:安全 来源:网络整理
导读:angular-pickadate适用于我当地时间.为了查看全球时间,我已将时区更改为“America / Denver”.现在选择日期是在今天的日期前一天(通过模态日期),所以它将“pickadate-active”类应用于昨天. 我尝试使用本地时区和UTC时区传递模态日期.我不知道为什么dateHelp
angular-pickadate适用于我当地时间.为了查看全球时间,我已将时区更改为“America / Denver”.现在选择日期是在今天的日期前一天(通过模态日期),所以它将“pickadate-active”类应用于昨天.
我尝试使用本地时区和UTC时区传递模态日期.我不知道为什么dateHelper.parseDate再次调用先前传递的剥离时区值,现在我的理解是$locale正在转换剥离日期,假设它是UTC日期到本地日期.因此,在格林威治标准时间-06:00之前,所选日期将在之前的一个日期. HTML DIV – < div pickadate ng-model =“vm.date”ng-model-options =“{debounce:0}”header =“true”select =“true”date-highlight-list =“vm.dateList” >< / DIV> Controller – vm.date = moment().tz(timeZoneName).format(); 有人可以建议一种方法来处理不同的时区与angular-pickadate?谢谢 !
parseDate函数按照GMT时区给出了日期对象,所以日期变得少了一天.所以我删除了这个条件,它直接返回带有时区的传递日期字符串的GMT日期.
if (angular.isDate(dateString) || angular.isDate(new Date(dateString))) { new Date(dateString); } 现在它转到下一个if块用regex格式化日期并在那里添加这个条件来处理日期字符串和日期对象 – if(typeof dateString == 'object') { dateString = (dateString['_d'])? dateString['_d']: dateString['_i']; // being private (_d,_i) should be avoided but only way in mine case if(typeof dateString == 'object') // returns Object by dateString['_d'] else string dateString = dateString.getDate() +'-'+ dateString.getMonth() +'-' +dateString.getFullYear(); } dateParts = dateString.split(separator); // separator was "-" every time so making dateString with "-" in case it was object (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容