我是android的新手,在一个应用中,我需要以特定格式显示时间,因为我获取了“ hh:mm:a” 格式
的SQLite数据所以我尝试先将其转换,然后将所需的格式更改为“ hh:mm 一个”
但是在我的情况下,输出字符串始终返回null。
我需要在RecyclerViewAdapter类中完成此操作
代码:
public void onBindViewHolder(MyViewHolder holder, int position) {
myAlarms myAlarms = myAlarmsdata.get(position);
String mTimeSplit = myAlarms.getALARM_TIME();
try {
SimpleDateFormat myFormat = new SimpleDateFormat("hh:mm aa");
Date date = myFormat.parse(mTimeSplit );
String out = myFormat.format(date); // out always remains null
SpannableString mtime = new SpannableString(out); //want to pass the string as "hh:mm a" format
mtime.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);
holder.mTime.setText(mtime);
} catch (ParseException e) {
}
}
任何人都可以告诉我我在哪里犯了错误以及应该怎么做...
答案 0 :(得分:1)
可能存在一些问题:
LR
它可能没有返回正确的格式。我已经尝试过它直接通过,并且工作正常。
String mTimeSplit = myAlarms.getALARM_TIME();
输出:
public class HelloWorld
{
public static void main(String []args){
// String mTimeSplit = myAlarms.getALARM_TIME();
try {
SimpleDateFormat myFormat = new SimpleDateFormat("hh:mm aa");
Date date = myFormat.parse("08:30 PM" );
String out = myFormat.format(date);
System.out.println(out);
} catch (Exception e) {
}
}
}
如果您接收的是08:30:PM,则将格式更改为:
08:30 PM