Android 本机移动日期选择器的日期格式是否取决于设备的日期格式
我正在尝试在应用程序中使用日期选择器,该设备使用d/m/yy日期格式。我在日期选择器上选错了日期。无论设备的日期格式如何,都要解决哪些问题,以确保日期正确无误 我读到的所有内容都建议datepicker使用用户为设备选择的格式 我在livecode中有一个数据输入字段,其代码如下:Android 本机移动日期选择器的日期格式是否取决于设备的日期格式,android,mobile,livecode,Android,Mobile,Livecode,我正在尝试在应用程序中使用日期选择器,该设备使用d/m/yy日期格式。我在日期选择器上选错了日期。无论设备的日期格式如何,都要解决哪些问题,以确保日期正确无误 我读到的所有内容都建议datepicker使用用户为设备选择的格式 我在livecode中有一个数据输入字段,其代码如下: on openField if environment() is "mobile" then mobilePickDate "date",field "field" end if en
on openField
if environment() is "mobile" then
mobilePickDate "date",field "field"
end if
end openField
字段的值为1/3/15,在我的设备上,我选择了2015年12月31日的choose date格式。这意味着日期选取者应该被撤销到2015年3月1日,而不是2015年1月3日
附加信息
我尝试了以下代码:-
on openField
set the usesystemdate to true
if environment() is "mobile" then
put field "field" into tdate
convert tdate to dateitems
answer tdate
mobilePickDate "date",field "field"
else
put field "field" into tdate
convert tdate to dateitems
answer tdate
end if
end openField
具有相同日期时间设置的桌面和移动设备上的消息框文本不同。桌面返回2015,3,1,0,0,0,1手机返回2015,1,3,0,0,0,7
桌面纠正移动错误。所以我想知道android是否会像VisualBasic一样使用American date而不考虑系统设置。尝试在处理程序顶部将useSystemDate属性设置为true。这将允许LiveCode根据用户的系统日期设置解释日期选择器的结果。根据我在该链接上进行的测试和响应,显然更改设备的日期格式不会更改android编程环境中的格式。因此,我开发了以下解决方法 创建一个函数来确定日期格式
function GetDateFormat
set the usesystemdate to true
put "1/3/15" into tdate
convert tdate to dateitems
set itemdel to comma
switch item 2 of tdate
case 1
return "mm/dd/yy"
case 3
return "dd/mm/yy"
end switch
end GetDateFormat
将发送到日期选择器的日期转换为mm/dd/yyyy格式
on openField
set the usesystemdate to true
put field "field" into tdate
if environment() is "mobile" then
switch GetDateFormat()
case "mm/dd/yy"
set itemdel to "/"
put item 2 of tdate & "/" & item 1 of tdate & "/" & item 3 of tdate into tdate
end switch
convert tdate to dateitems
mobilePickDate "date",tdate
end if
end openField
我试过了,但运气不好。无论useSystemDate属性如何,日期选择器在mobilePickDate日期字段后显示的值保持不变。我注意到,在桌面环境中,使用put field field into tdate convert tdate to DATETIMES ANSWERT tdate会根据useSystemDate属性给出不同的结果