从SMS消息android获取日期

Hou*_*han 4 java datetime android

可能重复:
Android - 从SMS时间戳获取日期时间,以毫秒为单位

我使用以下代码来记录短信:

    public void getColumnData(Cursor cur, Context context) {
    ArrayList<String> exportBuffer = new ArrayList<String>();
    try {
        if (cur.moveToFirst()) {
            String id;
            String date;
            String phoneNumber;
            String body;

            int idColumn = cur.getColumnIndex("_id");
            int dateColumn = cur.getColumnIndex("date");
            int numberColumn = cur.getColumnIndex("address");
            int bodyColumn = cur.getColumnIndex("body");

            do {
                id = cur.getString(idColumn);
                date = cur.getString(dateColumn);
                body = cur.getString(bodyColumn);
                phoneNumber = cur.getString(numberColumn);

                String FormattedDate;

                SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy");
                FormattedDate = sdf.format(date).toString();

                exportBuffer.add(id + " ," + FormattedDate + " ," + body + " ,"
                        + phoneNumber);
            } while (cur.moveToNext());
        }
        WriteToFile(exportBuffer,context);
    } catch (Exception e) {
        int MessageDuration = Toast.LENGTH_SHORT;       
        CharSequence text = "An Error Occurred, Code:104";  
        Toast toast = Toast.makeText(context, text, MessageDuration);
        toast.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,除了日期字符串我不知道它是什么格式,这意味着我无法将其格式化为正确的日期,这里是其中一个日期的示例:

1309817682651
Run Code Online (Sandbox Code Playgroud)

提前致谢.

小智 8

尝试使用这段代码:

public static String millisToDate(long currentTime) {
    String finalDate;
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(currentTime);
    Date date = calendar.getTime();
    finalDate = date.toString();
    return finalDate;
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

6885 次

最近记录:

14 年,2 月 前