0

这是我的第一个应用程序,我需要使用日期

我想使用 sqlite 数据库来存储单击按钮时的当前日期

另外,当单击该按钮时,我希望它在文本视图中显示当前日期

现在我白天是一名 PHP 程序员,但这对我来说是全新的。我很好奇尝试使用 unix 时间戳(int)是否是最好的解决方案,因为我习惯于在 PHP 中存储我的日期。

这是我现在正在做什么的一个例子,以便在单击按钮后显示日期。以下代码在我的按钮的 onClick 函数中:

    long currentTimestamp = System.currentTimeMillis();
    Date theDate = new Date(currentTimestamp);
    String showDate = theDate.getDay() + "/" + theDate.getMonth() + "/" + theDate.getYear() + " " + theDate.getHours() + ":" + theDate.getMinutes();

我开始这样做了,但是,在 android 文档中它告诉我 getDay 和 getMonth 之类的函数已被弃用并使用 Calendar 函数。

现在我当然不想开始使用不推荐使用的函数,因为我对此完全陌生并且不想陷入不良做法,但我在另一个堆栈溢出问题中读到使用日历比其他解决方案慢。

我只是在寻找有关如何以最适当和最有效的方式进行此操作的答案....谢谢。

编辑:

我刚读到这个问题:How to store and get datetime value in SQLite

其中一个答案建议使用我最初想做的 unix 时间戳。有没有办法通过在显示和存储它时将 unix 时间戳(长)转换为字符串来做到这一点,并且仍然使用日历功能?

4

2 回答 2

1

获取当前时间并将其转换为时间戳:

long dateInMillis = Calendar.getInstance().getTimeInMillis();

转换回来:

Calendar date = Calendar.getInstance();
date.setTimeInMillis(dateInMillis);
于 2012-05-22T10:04:52.310 回答
0

使用此代码

Calendar month = Calendar.getInstance();

int cal_for_month = month.get(Calendar.MONTH);
int cal_for_year = month.get(Calendar.YEAR);
int cal_for_day = month.get(Calendar.DAY_OF_MONTH);
于 2012-05-22T09:49:09.093 回答