jsp 选择时分秒控件_Bootstrap-datetimepicker 控件只显示时分秒

今天遇到一个比较恶心的需求吧,一道工序不可垮天,通过开始时间和结束时间计算工时,可是bootstrap中的时间控件很坑

贴上原链接  https://github.com/Eonasdan/bootstrap-datetimepicker

在github的demo中可以找到只显示时分秒的方法,先贴代码

首先是定义一个标签

wmsApp.directive('timepicker', function ($parse) {

return {

restrict: 'A',

require: '?ngModel',

link: function (scope, element, attrs, ngModelCtrl) {

var picker = $(element).datetimepicker({

format: 'HH:mm:ss',

useCurrent: false,

showTodayButton: false,

showClear: false,

showClose: false,

locale: moment.locale('zh-cn')

});

//model->view

ngModelCtrl.$render = function (value) {

if (ngModelCtrl.$viewValue) {

$(element).data('DateTimePicker').date(ngModelCtrl.$viewValue);

} else {

$(element).data('DateTimePicker').clear();

}

};

//view->model

picker.on('dp.change', function (e) {

if (e.date) {

ngModelCtrl.$setViewValue(new moment(e.date).format('YYYY-MM-DD HH:mm:ssZ'));

} else {

ngModelCtrl.$setViewValue(null);

}

});

}

};

});

然后html中调用

* 开始时间:

在input中使用新定义的 timepicker标签,效果就出来了

b712e4ef7f6fa5c3949aebaa20b3b342.png

然后就是js中的接收了,也是很坑的地方,当我编辑完时间,点击保存,后台用js获取到了时间,但是。。。。

但是,获取的时间是“当天日期”+“我选定的时分秒”,也就是说,我不管数据的数据是哪一天的8:31,js拿到的都是我电脑当前日期的8:31,这个问题是因为在定义标签的时候,

format是定义了'HH:mm:ss',如果把年月日都带上,那界面就不是说只有时分秒了,因为我要的仅仅是时分秒,选择日期不能出现,因为我编辑的工序不可以发生跨天。

所以,在最初拿到数据的时候,就得新加一个字段,保存下来,如:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

return workHourService.query(params, $scope.filter).then(function (data) {for (var i = 0; i < data.length; i++) {

data[i].Date=data[i].StartTime;

}returndata;

});

View Code

然后用Date的日期加上StartTime的时分秒,这样才能得到所要的数据,太坑,搞了整整一天

也请大神指点,有没有更好的方式

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

weixin_39624606

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值