Android 如何显示从星期日到星期六的当前星期日期
如何显示从星期日到星期六的当前星期日期?我正在创建一个应用程序,当单击“下一周”或“上一周”显示“下一周”或“上一周”显示“下一周”或“上一周”显示“下一周”日期我的代码在所有7个按钮上显示相同的日期Android 如何显示从星期日到星期六的当前星期日期,android,Android,如何显示从星期日到星期六的当前星期日期?我正在创建一个应用程序,当单击“下一周”或“上一周”显示“下一周”或“上一周”显示“下一周”或“上一周”显示“下一周”日期我的代码在所有7个按钮上显示相同的日期 public class MainActivity extends Activity { public static int mYear; public static int mMonth; public static int mDay; Button last_week; Butt
public class MainActivity extends Activity {
public static int mYear;
public static int mMonth;
public static int mDay;
Button last_week;
Button next_week;
Button e00;
Button e01;
Button e02;
Button e03;
Button e04;
Button e05;
Button e06;
String completedate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e00 = (Button) findViewById(R.id.e00);
e01 = (Button) findViewById(R.id.e01);
e02 = (Button) findViewById(R.id.e02);
e03 = (Button) findViewById(R.id.e03);
e04 = (Button) findViewById(R.id.e04);
e05 = (Button) findViewById(R.id.e05);
e06 = (Button) findViewById(R.id.e06);
// e01 = Mon;
// e02 = Tues;
// e03 = Wed;
// e04 = thur;
// e05 = Fri;
last_week = (Button) findViewById(R.id.last_week);
next_week = (Button) findViewById(R.id.next_week);
Calendar mCalendar = Calendar.getInstance();
mYear = mCalendar.get(Calendar.YEAR);
mMonth = mCalendar.get(Calendar.MONTH) + 1;
mDay = mCalendar.get(Calendar.DAY_OF_MONTH);
completedate = mYear + "/" + String.format("%02d", mMonth)
+ "/" + String.format("%02d", mDay);
last_week.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
e00.setText("");
e01.setText("");
e02.setText("");
e03.setText("");
e04.setText("");
e05.setText("");
e06.setText("");
}
});
next_week.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
e00.setText("");
e01.setText("");
e02.setText("");
e03.setText("");
e04.setText("");
e05.setText("");
e06.setText("");
}
});
// i want to show like this
// e01.setText(" 9/9/2013");
// e02.setText("10/9/2013");
// e03.setText("11/9/2013");
// e04.setText("12/9/2013");
// e05.setText("13/9/2013");
DateFormat format = new SimpleDateFormat(completedate);
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.SUNDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
String[] days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
e00.setText(days[0]);
e01.setText(days[1]);
e02.setText(days[2]);
e03.setText(days[3]);
e04.setText(days[4]);
e05.setText(days[5]);
e06.setText(days[6]);
}
}
公共类MainActivity扩展活动{
公共静态内窥镜;
公共静态信息;
公共静态整数日;
上周的按钮;
下周按按钮;
按钮e00;
按钮e01;
按钮e02;
按钮e03;
按钮e04;
按钮e05;
按钮e06;
字符串完成;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e00=(按钮)findViewById(R.id.e00);
e01=(按钮)findViewById(R.id.e01);
e02=(按钮)findViewById(R.id.e02);
e03=(按钮)findViewById(R.id.e03);
e04=(按钮)findViewById(R.id.e04);
e05=(按钮)findViewById(R.id.e05);
e06=(按钮)findViewById(R.id.e06);
//e01=Mon;
//e02=周二;
//e03=Wed;
//e04=星期四;
//e05=Fri;
last_week=(按钮)findViewById(R.id.last_week);
下一周=(按钮)findViewById(R.id.next\u week);
Calendar mCalendar=Calendar.getInstance();
mYear=mCalendar.get(日历年);
mMonth=mCalendar.get(日历月)+1;
mDay=mCalendar.get(日历、日期、月份);
completedate=mYear+“/”+String.format(“%02d”,mm)
+“/”+String.format(“%02d”,mDay);
上周.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
e00.setText(“”);
e01.setText(“”);
e02.setText(“”);
e03.setText(“”);
e04.setText(“”);
e05.setText(“”);
e06.setText(“”);
}
});
下周.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
e00.setText(“”);
e01.setText(“”);
e02.setText(“”);
e03.setText(“”);
e04.setText(“”);
e05.setText(“”);
e06.setText(“”);
}
});
//我想表现得像这样
//e01.setText(“9/9/2013”);
//e02.setText(“10/9/2013”);
//e03.setText(“11/9/2013”);
//e04.setText(“12/9/2013”);
//e05.setText(“13/9/2013”);
DateFormat格式=新的SimpleDateFormat(completedate);
日历=Calendar.getInstance();
日历:setFirstDayOfWeek(日历:周日);
calendar.set(calendar.DAY\u OF_WEEK,calendar.SUNDAY);
字符串[]天=新字符串[7];
对于(int i=0;i<7;i++)
{
天[i]=format.format(calendar.getTime());
e00.setText(天[0]);
e01.setText(天[1]);
e02.setText(天[2]);
e03.setText(天[3]);
e04.setText(天[4]);
e05.setText(天[5]);
e06.setText(天[6]);
}
}
calendar.getTime()返回当前时间。我想您应该使用:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
在本例中,-1表示前一天,+1表示未来一天。因此,有了这些知识,您可以跟踪从今天到显示周的时间差
这有意义吗
编辑:
以及如何在forloop中打印7天?dis函数在所有7个文本中返回相同的日期给我一秒钟,我正在写一个更好的答案。我想在7个按钮中打印所有7个日期这就是上面的代码所做的。我只做了两个按钮,因为我相信你可以自己找出其余的代码。你是什么不理解?不确定我将int值放在main方法顶部的位置吗?
//positive numbers indicate future, negative past
int numberOfWeeksSinceTodaysDate = 0;
int dayOfTheWeek = cal.get(Calendar.DAY_OF_WEEK)
last_week.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Calendar cal = Calendar.getInstance();
//Go back seven days
numberOfWeeksSinceTodaysDate -= 7;
cal.add(Calendar.DATE, numberOfWeeksSinceTodaysDate)
e00.setText(cal.getTime());
//Go back eight days
numberOfWeeksSinceTodaysDate--;
cal.add(Calendar.DATE, numberOfWeeksSinceTodaysDate)
e01.setText(cal.getTime());
}
});