当前位置:首页 > 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 属性可以自定义显示格式:

react实现日期时间

<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 属性可以禁用某些日期:

react实现日期时间

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 还支持自定义样式、日期禁用规则、多选日期等更多功能。

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

相关文章

vue实现动态时间

vue实现动态时间

Vue 实现动态时间的常见方法 使用 setInterval 更新数据 在 Vue 组件的 data 中定义时间变量,通过 setInterval 定时更新。组件销毁时需清除定时器避免内存泄漏。 e…

vue实现时间

vue实现时间

Vue 实现时间显示的方法 在Vue中实现时间显示可以通过多种方式完成,包括使用原生JavaScript、第三方库或Vue插件。以下是几种常见的方法: 使用原生JavaScript显示当前时间 通过…

vue实现滑动日期

vue实现滑动日期

实现滑动日期选择器的基本思路 在Vue中实现滑动日期选择器可以通过结合第三方库或自定义组件完成。核心逻辑包括日期数据的生成、滑动动画的实现以及用户交互处理。 使用第三方库(如vant) 安装vant…

vue实现时间刻度

vue实现时间刻度

Vue实现时间刻度组件 时间刻度组件常用于时间轴、日程管理或数据可视化场景。以下是基于Vue的实现方案: 基础时间刻度实现 使用v-for循环生成刻度元素,结合CSS实现布局: <t…

vue实现时间天气

vue实现时间天气

以下是在Vue中实现时间和天气功能的几种方法: 获取并显示当前时间 使用JavaScript的Date对象获取当前时间,并通过Vue的数据绑定显示: <template>…

vue框架实现日期显示

vue框架实现日期显示

实现日期显示的基本方法 在Vue中显示日期可以通过多种方式实现,以下是几种常见的方法: 使用JavaScript的Date对象 直接通过JavaScript的Date对象获取当前日期并显示: &l…