当前位置:首页 > React

react实现日期时间

2026-01-26 21:03:40React

实现日期时间选择器

使用 react-datepicker 库可以快速实现日期时间选择功能。该库提供了丰富的配置选项和样式支持。

安装依赖:

npm install react-datepicker date-fns

基本用法示例:

import React, { useState } from 'react';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';

function DateTimePicker() {
  const [startDate, setStartDate] = useState(new Date());

  return (
    <DatePicker
      selected={startDate}
      onChange={(date) => setStartDate(date)}
      showTimeSelect
      timeFormat="HH:mm"
      timeIntervals={15}
      dateFormat="MMMM d, yyyy h:mm aa"
    />
  );
}

自定义日期时间格式

通过 dateFormat 属性可以自定义显示格式:

<DatePicker
  selected={startDate}
  onChange={date => setStartDate(date)}
  dateFormat="yyyy/MM/dd HH:mm"
  showTimeSelect
/>

日期范围选择

实现一个日期范围选择器:

const [startDate, setStartDate] = useState(new Date());
const [endDate, setEndDate] = useState(null);

<DatePicker
  selectsStart
  selected={startDate}
  onChange={date => setStartDate(date)}
  startDate={startDate}
  endDate={endDate}
/>
<DatePicker
  selectsEnd
  selected={endDate}
  onChange={date => setEndDate(date)}
  startDate={startDate}
  endDate={endDate}
  minDate={startDate}
/>

禁用特定日期

使用 filterDate 属性可以禁用某些日期:

const isWeekday = date => {
  const day = date.getDay();
  return day !== 0 && day !== 6;
};

<DatePicker
  filterDate={isWeekday}
  selected={startDate}
  onChange={date => setStartDate(date)}
/>

本地化设置

通过 locale 属性支持多语言:

import { registerLocale } from 'react-datepicker';
import zhCN from 'date-fns/locale/zh-CN';
registerLocale('zh-CN', zhCN);

<DatePicker
  locale="zh-CN"
  selected={startDate}
  onChange={date => setStartDate(date)}
/>

内联模式

让日期选择器始终显示:

<DatePicker
  inline
  selected={startDate}
  onChange={date => setStartDate(date)}
/>

纯时间选择

如果只需要时间选择功能:

<DatePicker
  selected={startDate}
  onChange={date => setStartDate(date)}
  showTimeSelect
  showTimeSelectOnly
  timeIntervals={15}
  dateFormat="h:mm aa"
/>

以上实现方案提供了从基础到高级的日期时间处理功能,可以根据实际需求选择合适的配置选项。react-datepicker 还支持自定义样式、日期禁用规则、多选日期等更多功能。

react实现日期时间

标签: 日期时间
分享给朋友:

相关文章

css制作时间轴

css制作时间轴

使用 Flexbox 布局制作时间轴 通过 Flexbox 可以快速实现水平或垂直时间轴。以下是一个垂直时间轴的示例代码: .timeline { display: flex; flex-d…

jquery时间

jquery时间

jQuery 时间处理 jQuery 本身不提供专门的时间处理函数,但可以通过 JavaScript 的 Date 对象结合 jQuery 的事件和方法来实现时间操作。以下是常见的时间处理需求及实现方…

vue 实现日期滚动

vue 实现日期滚动

Vue 实现日期滚动的方法 使用第三方库(如vant或element-ui) 安装vant或element-ui库,这些库提供了现成的日期选择组件,支持滚动选择日期。以vant为例: <…

java如何获取系统时间

java如何获取系统时间

获取系统时间的方法 在Java中,获取系统时间有多种方法,以下是几种常用的方式: 使用System.currentTimeMillis() long currentTimeMillis = S…

vue实现彩色时间

vue实现彩色时间

实现彩色时间的Vue方案 使用动态样式绑定 在Vue中可以通过v-bind:style动态绑定样式,结合Date对象实现彩色时间显示。创建计算属性返回当前时间字符串,再根据时间数值动态生成颜色。…

vue实现日期选择

vue实现日期选择

Vue 实现日期选择的方法 使用原生 HTML5 input[type="date"] Vue 可以直接绑定原生 HTML5 的日期选择器,适合简单场景: <template> &l…