Android 應用中使用 TimePicker 獲取用戶選擇的時間並上傳服務器看似簡單,實則暗藏參數格式不匹配的坑。許多開發者直接上傳 Hour:Minute 字符串(如 "16:05"),導致後端解析失敗或存儲錯誤。
36000 表示 10:00:00)或標準 ISO 8601 格式("10:00:00")。hour + ":" + minute,得到 "16:05",單位為「時:分」,非秒數,且缺少秒字段。// Kotlin 示例
val totalSeconds = (timePicker.hour * 3600 + timePicker.minute * 60).toLong()
// 上傳 totalSeconds 給後端
val timeStr = String.format(Locale.getDefault(), "%02d:%02d:00", timePicker.hour, timePicker.minute)
// 上傳 "16:05:00"
應在 TimePickerDialog.OnTimeSetListener#onTimeSet() 回調中構造參數並發起網絡請求(使用 Retrofit/OkHttp/Volley 等),而非 在 UI 初始化代碼中。