如何创建 Javascript 日期过滤器作为滑块(而不是日历)?

发布于 2024-12-04 14:32:19 字数 690 浏览 4 评论 0原文

我正在创建一个基于 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁人与我共长歌 2024-12-11 14:32:19

一天等于 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文