Android 与解析函数斗争

Android 与解析函数斗争,android,kotlin,Android,Kotlin,于是开始学习Kotlin和Android studio编码 我在关注Youtube视频 我正在制作一个简单的年龄计算器,但不能让字符串变成日期,所以我可以用当前日期减去输入日期。代码看起来与视频中的代码完全相同 代码编译得很好,安装在android设备上,但每当按下Calculate Age按钮时,应用程序就会停止响应,因为var dob=sdf.parse(dob)函数。我假设它无法将日期从字符串转换为日期格式以进行进一步计算。谢谢 代码如下: 有趣的openDatePicker(视图:视图

于是开始学习Kotlin和Android studio编码

我在关注Youtube视频

我正在制作一个简单的年龄计算器,但不能让字符串变成日期,所以我可以用当前日期减去输入日期。代码看起来与视频中的代码完全相同


代码编译得很好,安装在android设备上,但每当按下Calculate Age按钮时,应用程序就会停止响应,因为var dob=sdf.parse(dob)函数。我假设它无法将日期从字符串转换为日期格式以进行进一步计算。谢谢

代码如下:

有趣的openDatePicker(视图:视图){ var c=Calendar.getInstance() 日期选择器对话框( 这 DatePickerDialog.OnDateSetListener{datePicker,yy,mm,dd->//听date picker说什么 变量mm=mm+1 var date=“$dd/$mm/$yy” 时间选择器对话框( 这 TimePickerDialog.ontTimeSetListener{timePicker,hh,mi-> 日期+=“$hh:$mi” EditTextPersonName.setText(日期)//在行中显示日期 }, c、 获取(日历小时/天), c、 获取(日历分钟), 真的 ).show() },c.get(日历年),c.get(日历月),c.get(日历月日) ).show() } 趣味计算器(视图:视图){ var today=Date()//今天的日期 var dobs=editTextPersonName.text.toString()//从输入中获取值 var sdf=简化格式(“mm/mm/yy HH:mm”) var dob=sdf.parse(dobs)//将日期转换为简单日期,没有差异 var days=(today.time-dob.time)/86400000//转换为密耳秒,需要在一天内除以密耳秒 变量小时数=(今天时间-日期时间)%86400000/3600000 变量分钟=(今天时间-截止时间)%86400000%3600000/60000 var秒=(今日时间-截止时间)%86400000%3600000%60000/1000 textView.visibility=View.VISIBLE textView.setText(“天数=$Days\n小时=$hours\n分钟=$minutes\n秒=$sec”) }
您的
SimpleDataFormat
与字符串值不匹配

您的
var日期
看起来像
var日期=“$dd/$mm/$yy$hh:$mi”

您的SimpleDataFormat具有
“mm/mm/yy HH:mm”

您应该将格式化程序更改为以下内容:
“dd/MM/yy HH:MM”

您没有告诉我们问题是什么。请更具体地说明您的问题,并添加完整的错误消息。代码编译良好并安装在android设备中,但是,每当按下计算年龄按钮时,应用程序就会停止响应,因为var dob=sdf.parse(dob)函数。我假设它无法将日期从字符串转换为日期格式以进行进一步计算。感谢可能是因为您让简单的日期格式化程序搜索
“mm/mm/yy HH:mm”
。但是您提供了一个字符串
“$dd/$mm/$yy$hh:$mi”
。您看到了额外的空格字符和“mm/”而不是“dd/”?谢谢Peter,我们将进行调查。我一直在关注Youtube视频,我将把它放在主要帖子中,因为我刚开始学习,我按照建议修改了代码,因为我尝试过的很多事情都没有输入错误。因此,我的var date=“$dd/$mm/$yy$hh:$mi”和我的SimpleDateFormat dd/mm/yy hh:mm。不幸的是,这个应用程序仍然可以编译,但会崩溃。有没有其他方法可以使var date与simpleDateFormat相同,这样我就可以减去2个日期?在更改后它是否有效?在您的var日期中,$dd/$mm/$yy之间似乎还有额外的空格。要么删除这些空间,要么将它们添加到SimpleDataFormatHanks Kubik,大帮助,甚至没有意识到空间可以带来如此大的不同!程序现在运行良好!谢谢你的帮助!