繁体   English   中英

如何在 ListView 中的项目上显示日期?

[英]How to display date on item in ListView?

大家好,我想为列表视图中的每个项目显示日期。 我尝试了一些东西,但它显示的数字不是日期格式。 我认为我需要转换该数字,但我不知道如何。 这是我的代码。 提前感谢大家

public void getAudio() {
        ContentResolver contentResolver = getContentResolver();
        Uri audioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
        Cursor audioCursor = contentResolver.query(audioUri, null, null, null, null);

        if(audioCursor != null && audioCursor.moveToFirst()) {
            int audioTitle = audioCursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
            int audioDate = audioCursor.getColumnIndex(MediaStore.Audio.Media.DATE_ADDED);

            do {
                String currentTitle = audioCursor.getString(audioTitle);
                String currentDate = audioCursor.getString(audioDate);
                arrayList.add(currentTitle + "\n" + currentDate);
            }
            while (audioCursor.moveToNext());
        }
    }

这里有两件事需要考虑。 首先,您必须将该数字/字符串转换为 java 中的日期 object。 其次,一旦有了日期 object,您就可以将其转换为您喜欢的任何日期格式。 例如 2020 年 12 月 23 日等。

如果你有以毫秒为单位的日期,你可以像这样使用

1- Date currentDate = new Date(currentDateTime); //creating Date from millisecond Date currentDate = new Date(currentDateTime); //creating Date from millisecond

2- 现在我们有了日期 object,现在可以格式化了。

DateFormat df = new SimpleDateFormat("dd:MM:yy:HH:mm:ss");
           //formatted value of current Date
           System.out.println("Milliseconds to Date: " + df.format(currentDate));

让我知道,如果它对你有帮助。

我会尝试做这样的事情:

首先定义您希望约会的样子,例如:

DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

然后格式化您的日期以适合所需的格式:

if(audioDate  != null){
            audioDateFormatted = dateFormat.format(audioDate );
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM