gpt4 book ai didi

java - 如何使用 SimpleDateFormat.parse() 将 Calendar.toString() 转换为日期?

转载 作者:行者123 更新时间:2023-12-02 02:47:32 25 4
gpt4 key购买 nike

我正在开发一个使用数据库的 Android 应用程序,每次用户插入新寄存器时,当前数据和时间都会使用保存在数据库中

Calendar cal = Calendar.getInstance();

所以,当我从数据库检索数据时,得到一个像这样的字符串:

java.util.GregorianCalendar[time=1496007575129,areFieldsSet=true,lenient=true,zone=America/Mexico_City,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=4,WEEK_OF_YEAR=22,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=148,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=39,SECOND=35,MILLISECOND=129,ZONE_OFFSET=-21600000,DST_OFFSET=3600000]

当我尝试使用 SimpleDateFormat.parse 转换该字符串以将其显示在 RecyclerView 中时,问题就出现了,我总是得到相同的日期:09/04/2017。

这是我的 RecViewAdapter.java 中的代码:

@Override
public void onBindViewHolder(ViewHolder holder,int position){
items.moveToPosition(position);

String s,d,p,f;


s = items.getString(ConsultaTomas.SISTOLICA);
holder.systolica.setText(s);

d = items.getString(ConsultaTomas.DIASTOLICA);
holder.diastolica.setText(d);

p = items.getString(ConsultaTomas.PULSO);
holder.pulso.setText(p);

f = items.getString(ConsultaTomas.FECHA);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

try {
holder.fecha.setText(sdf.format(sdf.parse(f)));

}catch (ParseException e){
Log.d("PARSINGFECHA","Error al parcear fecha");
}


}

其他数据在 RecView 中正确显示,并且日历字符串都不同,因此这些字符串中没有相同的日期/时间。所以,问题是:

如何使用 SimpleDateFormat.parse()Calendar.toString() 转换为日期?

这是在真实设备中运行应用程序的结果: two muppets

最佳答案

您需要修改存储日历的方式,调用getTime()并根据需要设置其格式。例如,

Calendar cal = Calendar.getInstance();
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
System.out.println(sdf.format(cal.getTime()));

关于java - 如何使用 SimpleDateFormat.parse() 将 Calendar.toString() 转换为日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com