Android 从字符串格式转换后无法打印时间
我正在将我拥有的字符串转换为日期和时间格式。例如,选择的字符串DateSelected包含“26/10/2020”。我能把它转换成日期格式并打印出来 但是对于时间字符串,我无法打印出来。我面临以下错误: 但是如果我把代码的位置换过来Android 从字符串格式转换后无法打印时间,android,simpledateformat,Android,Simpledateformat,我正在将我拥有的字符串转换为日期和时间格式。例如,选择的字符串DateSelected包含“26/10/2020”。我能把它转换成日期格式并打印出来 但是对于时间字符串,我无法打印出来。我面临以下错误: 但是如果我把代码的位置换过来 // For Date validation SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("dd/MM/yyyy"); String datechosen
// For Date validation
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
String datechosen = dateText.getText().toString() ;
Date dateselected = simpleDateFormat1.parse(datechosen);
System.out.println(dateselected);
// For Time validation
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
String timechosen = timeText.getText().toString();
Date timeselected = simpleDateFormat.parse(timechosen);
Calendar cal = Calendar.getInstance();
cal.setTime(timeselected);
cal.add(Calendar.HOUR, noofhourselected);
cal.add(Calendar.MINUTE, noofminselected);
timeselected = cal.getTime();
System.out.println(timeselected);
时间将被打印出来
这是两个输入字段您将日期设置为错误的时间格式。对于
cal.setTime(timeselected)代码>设置时间日期
使用与日期相同的格式。您将日期设置为错误的时间格式。对于cal.setTime(timeselected)代码>设置时间日期
使用与日期相同的格式。看起来您正在向其传递”
空字符串。检查你的<代码> TimeTeX< /代码>。它实际上包含了值,但是如果我尝试交换代码的定位,时间将被打印出来,并且我会收到以下相同的错误日期,而另一方面考虑扔掉长期过时和臭名昭著的麻烦<代码> SimpleDateFormat < /代码>和朋友。看看是否可以使用或添加到Android项目中,以便使用java.time,即现代java日期和时间API。与您一起工作真是太好了。下面的问题:。请它使每件事都变得容易。好的,我会的。感谢您将空字符串传递给它。检查你的<代码> TimeTeX< /代码>。它实际上包含了值,但是如果我尝试交换代码的定位,时间将被打印出来,并且我会收到以下相同的错误日期,而另一方面考虑扔掉长期过时和臭名昭著的麻烦<代码> SimpleDateFormat < /代码>和朋友。看看是否可以使用或添加到Android项目中,以便使用java.time,即现代java日期和时间API。与您一起工作真是太好了。下面的问题:。请它使每件事都变得容易。好的,我会的。谢谢,但是我的时间字符串值是“19:00”。它应该是小时和分钟格式吗?设置时间(日期)
接受日期对象它应该是正确的日期。使用SimpleDataFormat SimpleDataFormat1=新的SimpleDataFormat(“dd/MM/yyyy”)我已经使用过这种格式(“dd/MM/yyyy”)。我是否应该将此格式(“HH:mm”)更改为(“dd/mm/yyyy”)?是的,如前几次所述,如果要使用setTime(),它会接受一个正确的日期对象。(HH:mm)不会给你正确的日期。@AXIES这是我在评论中要求你检查它是否为空的第一件事,你回答它不是。我想你仍然没有得到所有的分数。但是我的时间字符串值是“19:00”。它应该是小时和分钟格式吗?设置时间(日期)
接受日期对象它应该是正确的日期。使用SimpleDataFormat SimpleDataFormat1=新的SimpleDataFormat(“dd/MM/yyyy”)我已经使用过这种格式(“dd/MM/yyyy”)。我是否应该将此格式(“HH:mm”)更改为(“dd/mm/yyyy”)?是的,如前几次所述,如果要使用setTime(),它会接受一个正确的日期对象。(HH:mm)不会给你正确的日期。@AXIES这是我在评论中要求你检查它是否为空的第一件事,你回答它不是。我想你还是没有得到所有的分数。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
String timechosen = timeText.getText().toString();
Date timeselected = simpleDateFormat.parse(timechosen);
Calendar cal = Calendar.getInstance();
cal.setTime(timeselected);
cal.add(Calendar.HOUR, noofhourselected);
cal.add(Calendar.MINUTE, noofminselected);
timeselected = cal.getTime();
System.out.println(timeselected);
// For Date validation
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
String datechosen = dateText.getText().toString() ;
Date dateselected = simpleDateFormat1.parse(datechosen);
System.out.println(dateselected);