如何才能在android studio中显示日期而不是时间

时间:2017-07-15 16:25:36

标签: java

@Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Date date = (Date) getArguments().getSerializable(ARG_DATE);

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        View v = LayoutInflater.from(getActivity())
            .inflate(R.layout.dialog_date, null);

        mDatePicker = (DatePicker) v.findViewById(R.id.dialog_date_picker);
        mDatePicker.init(year, month, day, null);

        return new AlertDialog.Builder(getActivity())
            .setView(v)
            .setTitle(R.string.date_picker_title)
            .setPositiveButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, 
                                          int      which) {
                             int year = mDatePicker.getYear();
                            int month = mDatePicker.getMonth();
                            int day = mDatePicker.getDayOfMonth();
                            Date date = new GregorianCalendar(year, 
                                                  month,  day).getTime(); 

                            sendResult(Activity.RESULT_OK, date);
                        }
                    })
            .setNegativeButton(android.R.string.cancel, null)

            .create();
}

我觉得getTime是什么  我的问题是,但我无法解决它 我只是想显示日期  而不是时间,但它不会让我。它总是以MM DD nnhhmmss zzz回归。我只想要显示的时间。这是我想要显示它的地方

 private TextView mTitleTextView;
        private TextView mDateTextView;
        private Crime mCrime;

        public CrimeHolder(LayoutInflater inflater, ViewGroup parent) {
            super(inflater.inflate(R.layout.list_item_crime, parent, false));
            itemView.setOnClickListener(this);
            itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    return false;
                }
            });

            mTitleTextView = (TextView) itemView.findViewById
  (R.id.crime_tile);
            mDateTextView = (TextView) itemView.findViewById
  (R.id.crime_date);


        }
            public void bind(Crime crime) {
                mCrime = crime;
                mTitleTextView.setText(mCrime.getTitle());
                mDateTextView.setText(mCrime.getDate().toString());


            }

在我的列表视图中,它始终显示带有时间的格式,我只想要日,月,日和年。不确定这是否有意义,但有没有人有任何想法?

1 个答案:

答案 0 :(得分:2)

这是我处理日期的方式:

public static String DATE_FORMAT_NOW="MMM d yyyy"

final SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
final Calendar cal = Calendar.getInstance();
final String timestamp = "Last Modified: " + sdf.format(cal.getTime());

您可以根据需要更改DATE_FORMAT_NOW 此特定格式的日期为:2017年7月15日

SimpleDateFormat可能有lint警告,如果需要,可以添加SuppressLint。我从来没有这样做过这样的问题