gpt4 book ai didi

java - 尝试获取“EEEE MMM d, yyyy”格式的日期时,返回当前日期的无效值

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

我想以这种格式显示当前日期2012年3月28日星期三,我编写了一个方法来获取这种格式,但它给出了无效的日期值(因为当我运行代码时它给出了1933年9月2日星期六)为什么就是它 ?我的代码有什么错误?

这是我的代码:

public class AddExercise extends Activity
{
private Date exercise_date;
private TextView date_Txt;
Calendar localCalendar = Calendar.getInstance();
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.add_exercise);

int year = localCalendar.get(Calendar.YEAR);
int month = localCalendar.get(Calendar.MONTH);
int day = localCalendar.get(Calendar.DAY_OF_MONTH);
exercise_date = new Date(day, month , yr);
date_Txt=(TextView)findViewById(R.id.date);
String x=formatdate(exercise_date, "EEEE MMM d, yyyy");
date_Txt.setText(x);
}

public static String formatdate(Date paramDate, String paramString)
{
String str;
if (paramDate != null)
{
if (paramString == null)
paramString = "MMMM dd, yyyy";
str = new SimpleDateFormat(paramString).format(paramDate);
}
else
{
str = null;
}
return str;
}
}

最佳答案

这主要是因为您使用的是已弃用的 Date() 构造函数。它需要以下参数:年 - 年份减去 1900。月份 - 0-11 之间的月份。日期 - 1-31 之间的月份中的某一天。但你的年份完全错误

为什么不直接这样做:

return new SimpleDateFormat("MMMM dd,yyyy").format(localCalendar.getTime())

或者更好

return new SimpleDateFormat("MMMM dd,yyyy").format(new Date()));

而不是跳过所有的障碍?

关于java - 尝试获取“EEEE MMM d, yyyy”格式的日期时,返回当前日期的无效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914184/

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