Java 使用android无法在文本视图中获取正确的日期
我有两个按钮,第一个是下一个,另一个是上一个。我想在文本视图中显示一个日期作为月份的日期。文本视图中应该看到的日期是该周的第一天 按下“下一步”按钮时,必须显示下一周开始的第一天;按下“上一步”按钮时,必须显示上一周开始的第一天 代码如下 我对安卓系统比较熟悉Java 使用android无法在文本视图中获取正确的日期,java,android,main,Java,Android,Main,我有两个按钮,第一个是下一个,另一个是上一个。我想在文本视图中显示一个日期作为月份的日期。文本视图中应该看到的日期是该周的第一天 按下“下一步”按钮时,必须显示下一周开始的第一天;按下“上一步”按钮时,必须显示上一周开始的第一天 代码如下 我对安卓系统比较熟悉 package com.example.child; import java.text.SimpleDateFormat; import java.util.Calendar; import android.support.v7.ap
package com.example.child;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends ActionBarActivity {
Button bn;
Button bp;
Calendar c=Calendar.getInstance();
int w = c.get(Calendar.WEEK_OF_YEAR);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bn=(Button)findViewById(R.id.button1);
Button bp=(Button)findViewById(R.id.button2);
final EditText ed=(EditText)findViewById(R.id.editText1);
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
String printDate = mDF.format(c.getTime());
c.add(Calendar.DAY_OF_MONTH, 6);
String printDate2 = mDF.format(c.getTime());
System.out.println(printDate + " >> " + printDate2);
ed .setText(printDate + " >> " + printDate2);
bn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
w++;
String ss=g(w);
ed.setText(ss);
}
private String g(int weekfromtoday) {
// TODO Auto-generated method stub
System.out.println(""+weekfromtoday);
Calendar m=Calendar.getInstance();
m.set(Calendar.DAY_OF_WEEK,m.SUNDAY);
m.set(m.DAY_OF_YEAR,m.get(Calendar.WEEK_OF_YEAR)+weekfromtoday);
m.add(Calendar.DAY_OF_MONTH,+6);
SimpleDateFormat s=new SimpleDateFormat("dd MMMM");
String p=s.format(m.getTime());
System.out.println(p);
m.add(Calendar.DAY_OF_MONTH, 6);
String printDate2 = s.format(m.getTime());
ed.setText(""+printDate2);
return p + " >> " + printDate2;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
步骤1:拥有全局日历对象:
private Calendar calendar;
步骤2:获取下周开始的函数:
public void getNextWeek() {
calendar.add(Calendar.WEEK_OF_YEAR, 1);
String dateString = getFormattedDate(calendar);
}
步骤3:获取前一周开始的函数:
public void getPreviousWeek() {
calendar.add(Calendar.WEEK_OF_YEAR, -1);
String dateString = getFormattedDate(calendar);
}
用于将日历对象转换为字符串的函数:
public String getFormattedDate(Calendar cal){
SimpleDateFormat format1 = new SimpleDateFormat("dd-mm-yyyy");
String formatted = format1.format(cal.getTime());
return formatted;
}
步骤1:拥有全局日历对象:
private Calendar calendar;
步骤2:获取下周开始的函数:
public void getNextWeek() {
calendar.add(Calendar.WEEK_OF_YEAR, 1);
String dateString = getFormattedDate(calendar);
}
步骤3:获取前一周开始的函数:
public void getPreviousWeek() {
calendar.add(Calendar.WEEK_OF_YEAR, -1);
String dateString = getFormattedDate(calendar);
}
用于将日历对象转换为字符串的函数:
public String getFormattedDate(Calendar cal){
SimpleDateFormat format1 = new SimpleDateFormat("dd-mm-yyyy");
String formatted = format1.format(cal.getTime());
return formatted;
}
如果你需要帮助,那么问一些问题。你有什么问题?@Szamot我的问题是我想在编辑文本中显示日期dd-mm-yyyy。日期应为该周的第一天。按下“下一步”按钮时,必须显示下周第一个日期;按下“上一步”按钮时,必须显示上周。这是我的问题,这不是问题,看起来你想有人为你写代码。你必须告诉他们你的问题是什么,在什么地方你的代码不起作用。然后我们可以帮助你。如果你需要帮助,那么问一些问题。你有什么问题?@Szamot我的问题是我想在编辑文本中显示日期dd-mm-yyyy。日期应为该周的第一天。按下“下一步”按钮时,必须显示下周第一个日期;按下“上一步”按钮时,必须显示上周。这是我的问题,这不是问题,看起来你想有人为你写代码。你必须告诉他们你的问题是什么,在什么地方你的代码不起作用。然后我们可以帮助您。您的答案是有效的,但当查看月份时,它显示为当前最小值(12-54-2015)。期待你得到我的内容。它没有显示月份。您的答案是有效的,但当查看月份时,它显示为当前最小值,例如(12-54-2015)。期待你得到我的内容。这个月没有上映。