1
This commit is contained in:
@@ -5,6 +5,14 @@ import { DialogCalendarCard } from '@/components/index'
|
||||
import './TimeSelector.scss'
|
||||
import dayjs from 'dayjs'
|
||||
|
||||
// 安全地解析日期字符串,兼容 iOS
|
||||
const parseDate = (dateStr: string): Date => {
|
||||
if (!dateStr) return new Date();
|
||||
// 将 "yyyy-MM-dd HH:mm:ss" 转换为 "yyyy-MM-ddTHH:mm:ss"
|
||||
const isoStr = dateStr.replace(/^(\d{4}-\d{2}-\d{2})\s(\d{2}:\d{2}(?::\d{2})?)$/, '$1T$2');
|
||||
return new Date(isoStr);
|
||||
};
|
||||
|
||||
export interface TimeRange {
|
||||
start_time: string
|
||||
end_time: string
|
||||
@@ -39,7 +47,7 @@ const TimeSelector: React.FC<TimeSelectorProps> = ({
|
||||
if (onChange) onChange({start_time, end_time})
|
||||
}
|
||||
const openPicker = (type: 'start' | 'end') => {
|
||||
setCurrentTimeValue(type === 'start' ? new Date(value.start_time) : new Date(value.end_time))
|
||||
setCurrentTimeValue(type === 'start' ? parseDate(value.start_time) : parseDate(value.end_time))
|
||||
setCurrentTimeType(type)
|
||||
setVisible(true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user