如何创建 Javascript 日期过滤器作为滑块(而不是日历)?
我正在创建一个基于 Javascript 的日期过滤器来过滤文件,其中包含 date_created 元数据。 我希望将日期过滤器创建为范围滑块,其中包含最大/最小(静态)和当前选择。为此,将使用 jQuery UI 滑块组件。可见输出必须始终采用 dd/mm/yyyy 格式,我将针对最小/最大和从/到范围选择器显示它。
在开发过程中,我遇到了一个问题,我必须在隐藏部分使用哪种格式才能在滑块内进行步骤。每个步骤必须为 1 天。我决定在隐藏方面尝试使用unix。所以我可以用我的Javascript函数轻松地将unix转换为dd/mm/yyyy:
function unixToDate(timestamp){
var date = new Date(timestamp * 1000);
var d = date.getDate(),
m = date.getMonth() + 1,
y = date.getFullYear();
return d + "/" + m + "/" + y;
}
这个函数对我来说效果很好,但是如果step == 1day,我需要unix中的1天值来进行加法(+)和减法(-)当用户移动滑块时。 那么,unix 中 1 天的值是多少,在更改范围时我可以添加或减去该值?
或者将日期过滤器设置为滑块的任何其他替代方法...
I am creating a Javascript based date filter to filter files, which has date_created metadata.
I wish to create that date filter as a range slider with max/min (are static) and current selection. For this going to use jQuery UI slider component. Visible output has to be always in a format dd/mm/yyyy and I will show it for min/max and from/to range selectors.
While developing, I came to a question, which format I have to use on a hidden part to make steps inside the slider. Each step has to be 1 day. I decided to try with unix on hidden side. So I can easily convert unix into dd/mm/yyyy with my Javascript function:
function unixToDate(timestamp){
var date = new Date(timestamp * 1000);
var d = date.getDate(),
m = date.getMonth() + 1,
y = date.getFullYear();
return d + "/" + m + "/" + y;
}
And this function works well for me, however if step == 1day, I need 1 day value in unix to make addition (+) and subtraction (-) when user moves slider.
So which is that value of 1 day in unix, which I can add or subtract to when changing range?
Or any other alternatives to make date filter as slider…
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一天等于 currentTimeInUnixTime+(60*60*24)
这是因为 Unix 时间只是自纪元开始以来的秒数。 60 秒等于一分钟。 60 分钟就是一个小时。 24 小时就是一天。将它们全部相乘,然后将它们与当前的 Unix 时间相加,就可以得到第二天的 Unix 时间。
One day is equal to currentTimeInUnixTime+(60*60*24)
That is because Unix time is simply the seconds since the beginning of epoch. 60 seconds make one minute. 60 minutes make an hour. And 24 hours make a day. Multiply them all, and add them to the current Unix time you have to get the Unix time for the next day.