forked from mbk-lab/rui_orig
Bug fixing
This commit is contained in:
parent
73cd9318a5
commit
3e0c153f20
|
@ -132,7 +132,42 @@ func (picker *datePickerData) set(tag string, value interface{}) bool {
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if text, ok := picker.Session().resolveConstants(value); ok {
|
if text, ok := picker.Session().resolveConstants(value); ok {
|
||||||
if date, err := time.Parse(dateFormat, text); err == nil {
|
format := "20060102"
|
||||||
|
if strings.ContainsRune(text, '-') {
|
||||||
|
if part := strings.Split(text, "-"); len(part) == 3 {
|
||||||
|
if part[0] != "" && part[0][0] > '9' {
|
||||||
|
if len(part[2]) == 2 {
|
||||||
|
format = "Jan-02-06"
|
||||||
|
} else {
|
||||||
|
format = "Jan-02-2006"
|
||||||
|
}
|
||||||
|
} else if part[1] != "" && part[1][0] > '9' {
|
||||||
|
format = "02-Jan-2006"
|
||||||
|
} else {
|
||||||
|
format = "2006-01-02"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if strings.ContainsRune(text, ' ') {
|
||||||
|
if part := strings.Split(text, " "); len(part) == 3 {
|
||||||
|
if part[0] != "" && part[0][0] > '9' {
|
||||||
|
format = "January 02, 2006"
|
||||||
|
} else {
|
||||||
|
format = "02 January 2006"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if strings.ContainsRune(text, '/') {
|
||||||
|
if part := strings.Split(text, "/"); len(part) == 3 {
|
||||||
|
if len(part[2]) == 2 {
|
||||||
|
format = "01/02/06"
|
||||||
|
} else {
|
||||||
|
format = "01/02/2006"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if len(text) == 6 {
|
||||||
|
format = "010206"
|
||||||
|
}
|
||||||
|
|
||||||
|
if date, err := time.Parse(format, text); err == nil {
|
||||||
picker.properties[tag] = value
|
picker.properties[tag] = value
|
||||||
return date, true
|
return date, true
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,10 +132,33 @@ func (picker *timePickerData) set(tag string, value interface{}) bool {
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if text, ok := picker.Session().resolveConstants(value); ok {
|
if text, ok := picker.Session().resolveConstants(value); ok {
|
||||||
if time, err := time.Parse(timeFormat, text); err == nil {
|
lowText := strings.ToLower(text)
|
||||||
|
pm := strings.HasSuffix(lowText, "pm") || strings.HasSuffix(lowText, "am")
|
||||||
|
|
||||||
|
var format string
|
||||||
|
switch len(strings.Split(text, ":")) {
|
||||||
|
case 2:
|
||||||
|
if pm {
|
||||||
|
format = "3:04 PM"
|
||||||
|
} else {
|
||||||
|
format = "15:04"
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
if pm {
|
||||||
|
format = "03:04:05 PM"
|
||||||
|
} else {
|
||||||
|
format = "15:04:05"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if time, err := time.Parse(format, text); err == nil {
|
||||||
picker.properties[tag] = value
|
picker.properties[tag] = value
|
||||||
return time, true
|
return time, true
|
||||||
|
} else {
|
||||||
|
ErrorLog(err.Error())
|
||||||
}
|
}
|
||||||
|
return time.Now(), false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue