我正在尝试在datepicker
中打印textbox
值,但它会打印8-9-2013(MM-dd-yyyy)
而不是打印9-9-2013
。
我的MainActivity.java是
package com.example.datepicker;
import java.util.Calendar;
import java.util.Date;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
Button button;
DatePicker picker;
TextView text;
String mydate=java.text.DateFormat.getTimeInstance().format(Calendar.getInstance().getTime());
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(TextView)findViewById(R.id.textView1);
picker=(DatePicker)findViewById(R.id.datePicker1);
button=(Button)findViewById(R.id.button1);
datepicker();
}
private void datepicker() {
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
text.setText(getCurrentDate());
}
private CharSequence getCurrentDate() {
StringBuilder sb=new StringBuilder();
sb.append("Current Date ").append(picker.getMonth()).append("-").append(picker.getDayOfMonth()).append("-").append(picker.getYear());
return sb;
}
});
}
}
答案 0 :(得分:4)
这些月份从零开始,因此您需要添加一个以这种方式格式化。
这个文档没有很好的记录,但另一方面,init() documentation表示月份是从零开始的。同样可以合理地假设下面有Calendar
,其中月份也是零基础。
答案 1 :(得分:1)
Calendar.MONTH基于ZERO,即1月== 0。只需在显示之前添加一个月:
sb.append("CurrentDate").append(picker.getMonth() + 1).append("").append(picker.getDayOfMonth()).append("-").append(picker.getYear());
答案 2 :(得分:1)
Android Calander.MONTH
返回zero-based
月份索引,因此您必须在此处显示Calander.MONTH + 1
答案 3 :(得分:1)
使用此
sb.append("Current Date ").append((picker.getMonth())+1).append("-").append(picker.getDayOfMonth()).append("-").append(picker.getYear());