HarmonyOS 鸿蒙Next DatePicker控件时间起点不能设置1969年前
HarmonyOS 鸿蒙Next DatePicker控件时间起点不能设置1969年前
if((this.select_four_pillars[0])!=2)
{
DatePickerDialog.show({
start: new Date('1800-1-1'),
end: new Date("2100-12-31"),
selected: this.selectedDate,
lunar: this.lunarSelected,
showTime:true,
useMilitaryTime:true,
disappearTextStyle: {color: Color.Pink, font: {size: '22fp', weight: FontWeight.Bold}},
textStyle: {color: '#fff4f6f5', font: {size: '18fp', weight: FontWeight.Normal}},
selectedTextStyle: {color: '#ff182431', font: {size: '14fp', weight: FontWeight.Regular}},
onDateAccept: (value: Date) => {
this.selectedDate = value
if(!this.lunarSelected)
{
this.in_SolarTime = SolarTime.fromYmdHms(value.getFullYear(), value.getMonth(), value.getDay(),
value.getHours(),value.getMinutes(),value.getSeconds())
this.in_LunarHour=this.in_SolarTime.getLunarHour()
}
else
{
this.in_LunarHour=LunarHour.fromYmdHms(value.getFullYear(), value.getMonth(), value.getDay(),
value.getHours(),value.getMinutes(),value.getSeconds())
this.in_SolarTime=this.in_LunarHour.getSolarTime()
}
}
})
设置了 start: new Date('1800-1-1')
,不起作用仍然是默认的1969年
更多关于HarmonyOS 鸿蒙Next DatePicker控件时间起点不能设置1969年前的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next DatePicker控件时间起点不能设置1969年前的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
设置start为1900年1月31号是可以的,如果超出这个范围就会变成默认值,1969。
参考:
DatePickerDialog.show({
start: new Date('1900-1-31'),
end: new Date("2100-12-31"),
selected: this.selectedDate,
lunar: this.lunarSelected,
showTime: true,
useMilitaryTime: true,
disappearTextStyle: { color: Color.Pink, font: { size: '22fp', weight: FontWeight.Bold } },
textStyle: { color: '#fff4f6f5', font: { size: '18fp', weight: FontWeight.Normal } },
selectedTextStyle: { color: '#ff182431', font: { size: '14fp', weight: FontWeight.Regular } },
onDateAccept: (value: Date) => {
this.selectedDate = value
}
})
截图是官方的日期选择范围 测试发现只要选择日期早于1970年就读取不到日期的返回值!
在HarmonyOS鸿蒙系统中,关于Next DatePicker控件时间起点不能设置1969年前的问题,这通常是由于系统内部的时间限制或控件本身的限制所导致的。
HarmonyOS的DatePicker控件可能默认限制了可选日期的范围,以确保系统的稳定性和一致性。在大多数操作系统中,包括鸿蒙系统,都会有一些内置的日期和时间限制,这些限制通常是为了避免处理历史上不存在的日期或时间格式(如某些地区在1969年前还未采用当前的公历系统)。
如果你确实需要设置1969年之前的日期,可能需要考虑以下几种方法(但请注意,这些方法可能并不总是可行或推荐):
-
自定义控件:你可以尝试自己编写一个日期选择器控件,以允许用户选择1969年之前的日期。这需要一定的编程能力和对鸿蒙系统UI框架的了解。
-
使用其他控件或方法:考虑使用其他类型的输入控件(如文本框),让用户手动输入日期,然后在后台进行验证和处理。
然而,这些方法可能需要额外的开发和测试工作,并且可能会影响到用户体验。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html