仅在Android中显示日期,没有时间

时间:2012-05-08 16:07:48

标签: android date

我试图在Android中显示使用DatePicker选择的年,月和日的日期。我遇到的问题是选择年份,月份和日期,并以正确的手机语言格式显示在屏幕上,而不显示时间。

现在的代码会正确显示日期,但也会显示时间。

StringBuilder string = new StringBuilder()
    // Month is 0 based so add 1
    .append(mYear).append("-")
    .append(mMonth + 1).append("-")
    .append(mDay);

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

    try {   
        Date date = format.parse(string.toString());
        mDateDisplay.setText(date.toLocaleString());
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 

mDateDisplay是一个TextView。

我无法弄清楚如何摆脱同时显示的时间。我做了大量的搜索和阅读文档,我无法理解。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:7)

java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getContext());
mDateDisplay.setText(dateFormat.format(date))

这将考虑用户区域设置并仅显示日期。

以下是相关文档:getDateFormat(Context context)

答案 1 :(得分:2)

android.text.format.DateFormat df = new android.text.format.DateFormat();
df.format("yyyy-MM-dd", new java.util.Date());

android.text.format.DateFormat.format("yyyy-MM-dd", new java.util.Date());

参考此LINK

<强>更新 ::

您还可以使用formatter获取以下日期::

mDateDisplay.setText(String.format("%1$tY %1$tb %1$td", date));

答案 2 :(得分:1)

试试这段代码

long date = System.currentTimeMillis();
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        SimpleDateFormat timeonly = new SimpleDateFormat("hh:mm");
        String dateString = sdf.format(date);
        String timeString = timeonly.format(date);
        //show present date
        textView.setText(dateString);

        //show present time
        TextView.setText(timeString);

答案 3 :(得分:0)

我花了一个小时,最后找到了解决方案。

 String datemillis = cursor.getString(cursor.getColumnIndex("field name on table"));
            SimpleDateFormat  df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");



            try {
                Date date = null;
                date = df.parse(datemillis);
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                String shortTimeStr = sdf.format(date);
                System.out.println(shortTimeStr);
                Y=shortTimeStr;
            } catch (ParseException e) {
                // To change body of catch statement use File | Settings | File Templates.
                e.printStackTrace();
            }
                Toast.makeText(getApplicationContext(),Y, Toast.LENGTH_LONG).show();

答案 4 :(得分:0)

这对我有用:

public class MainActivity extends AppCompatActivity {
TextView txt, txt1;

Button click;
Calendar c = Calendar.getInstance();


SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txt1 = (TextView) findViewById(R.id.txt1);

    click = (Button) findViewById(R.id.click);
    c.setTimeZone(TimeZone.getTimeZone("GMT"));

    click.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String f=df.format(c.getTime());

            txt1.setText(f);
        }
    });       
}

}