gpt4 book ai didi

javascript - 在 Angular-UI-Bootstrap Datepicker 中的设置日期(date=today)显示自定义字符串 ("Today")?

转载 作者:行者123 更新时间:2023-12-03 10:15:20 35 4
gpt4 key购买 nike

我正在实现 Angular-UI datepicker作为指令,我试图让它将今天的日期显示为字符串“Today”而不是 2015/04/27。

这可能吗?我可以轻松地将 $scope.dt 更改为 "Today" 但如果我想将其保存到我的数据库中,我需要将其转换回来,这很困惑。它看起来像自定义格式......但我从这里的代码中看不到这是如何完成的?

最佳答案

您可以编写一个过滤器,该过滤器将包装 AngularJS 提供的原始 date 过滤器并接受自定义格式,如果格式是默认值或传递的日期不是今天,则将格式转发到 date 。这是一个草图:

.filter('my_date', ['dateFilter', function (dateFilter) {
function filter(date, format, timezone) {
var today = new Date();
if (!(date instanceof Date)) {
date = new Date(date);
}

if (format == "today") {
if (date.getFullYear() == today.getFullYear() && date.getMonth() == today.getMonth() && date.getDate() == date.getDate()) {
return "Today";
} else {
format = "yyyy/mm/dd"; // this is default
}
}

return dateFilter(date, format, timezone);
}
return filter;
}])

使用:

{{dt | my_date:'today'}}

这里还有改进的空间:您可以查看更多专用程序,用于将 AngularJS 源中传递到过滤器的任何内容转换为日期(它特别接受 JSON);默认格式可以参数化。

注意。如果您准备好自己渲染带有日期的输入,即当您可以选择要使用的过滤器时,概述的技术将起作用。它不适用于 AngularUI 中的即用型 datepicker-popup - 它使用内置的 date 过滤器,除了修改 AngularUI 的源之外,似乎没有办法覆盖它。如果弹出窗口是您需要的,您必须自己添加“弹出逻辑”

关于javascript - 在 Angular-UI-Bootstrap Datepicker 中的设置日期(date=today)显示自定义字符串 ("Today")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29899590/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com