簡體   English   中英

一秒時間間隔

[英]One second time interval

在我網站上的一個過濾器選項中,用戶可以選擇日期范圍和時間范圍。 我對日期沒有問題。 但隨着時間的推移,有一個問題。

我正在使用 react-datepicker 中的 DatePicker。 為了顯示時間,我使用格式“HH:mm:ss”並添加了參數 timeIntervals={1}。 因此,用戶可以以一分鍾的頻率選擇時間。

在此處輸入圖像描述

然而,附近的秒數並沒有白費。 我想允許用戶選擇每一秒的時間。 如下

在此處輸入圖像描述

這個庫中沒有現成的解決方案。 而且我在 Internet 上找不到解決方案,也找不到文檔中的任何信息。 也許你可以幫助我。

下面是我的代碼

    export default function FilterDateTime({ isExpanded, setIsExpanded }) {
  const [startDate, setStartDate] = useState(new Date());
  const [endDate, setEndDate] = useState(new Date());
  
  const filterPassedTime = (time) => {
  const selectedDate = new Date(time);
  return selectedDate.getTime() > startDate.getTime();
  };


  return (
    <ArrowDropdown
        isExpanded={isExpanded}
        setIsExpanded={setIsExpanded}
        title="Date and Time range"
        onClick={() => setIsExpanded(!isExpanded)}>
                  <>
    <DatePicker

      selected={startDate}
      onChange={(date) => setStartDate(date)}
      showTimeSelect
      timeFormat="HH:mm:ss"
      timeIntervals={1}
      timeCaption="Time"
      dateFormat="dd/MM/yyyy         HH:mm:ss"
      calendarStartDay={1}
      onKeyDown={(e) => {e.preventDefault();}}
      selectsStart
      startDate={startDate}
      endDate={endDate}
    />
    
    <DatePicker
      selected={endDate}
      onChange={(date) => setEndDate(date)}
      showTimeSelect
      timeFormat="HH:mm:ss"
      timeIntervals={1}
      timeCaption="time"
      dateFormat="dd/MM/yyyy         HH:mm:ss"
      calendarStartDay={1}
      onKeyDown={(e) => {e.preventDefault();}}
      selectsEnd
      startDate={startDate}
      endDate={endDate}
      minDate={startDate}
      filterTime={filterPassedTime}
    />
    </>

    </ArrowDropdown>
  );
}

PS因為有可能這個功能不能做。 我可以允許用戶自己輸入秒數(此時我已經完全關閉了輸入)。 但考慮到結束日期的一秒不能少於開始日期的一秒。

react-datepicker 目前不支持此功能,但我可以看到該功能已經開發但正在 PR 審查中,可能需要一些時間才能推出。

這是相同的github pr

https://github.com/Hacker0x01/react-datepicker/pull/3214

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM