【问题标题】:Datepicker not properly working on a textbox日期选择器无法在文本框上正常工作
【发布时间】:2013-09-09 12:25:23
【问题描述】:

我试图在textbox 中打印datepicker 值,但它打印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;
}
});
}
}

【问题讨论】:

    标签: java android datepicker


    【解决方案1】:

    月份是从零开始的,因此您需要添加一个才能以这种方式对其进行格式化。

    这没有很好的记录,但反过来说,init() documentation 表示月份是从零开始的。同样可以合理地假设下面有一个Calendar,并且其中的月份也是从零开始的。

    【讨论】:

    • @Krish 是的,就这样。
    【解决方案2】:

    Calendar.MONTH 从零开始,即一月==0。只需在显示月份之前添加一个: sb.append("CurrentDate").append(picker.getMonth() + 1).append("").append(picker.getDayOfMonth()).append("-").append(picker.getYear());

    【讨论】:

      【解决方案3】:

      Android Calander.MONTH 返回 zero-based 月份索引,因此您必须在此处显示 Calander.MONTH + 1

      【讨论】:

        【解决方案4】:

        使用这个

        sb.append("Current Date  ").append((picker.getMonth())+1).append("-").append(picker.getDayOfMonth()).append("-").append(picker.getYear());
        

        【讨论】:

          猜你喜欢
          • 2016-01-02
          • 2015-01-18
          • 1970-01-01
          • 1970-01-01
          • 2018-09-16
          • 1970-01-01
          • 2013-02-24
          • 1970-01-01
          相关资源
          最近更新 更多