2012-05-22 3 views
0

это мое первое приложение, и мне нужно использовать датылучший способ использования даты для этой цели

я хочу использовать SQLite базу данных для того, чтобы сохранить текущую дату, когда кнопка нажата

также, когда эта кнопка нажата, я хочу, чтобы она отображала текущую дату в текстовом виде.

теперь я программист PHP днем, но это для меня все ново. Мне интересно, пытаться ли использовать временную метку unix (int) наилучшим решением для этого, так как это то, что я использую для хранения своих дат с помощью PHP.

heres пример того, что im работает сейчас, чтобы показать дату после нажатия кнопки. следующий код в моем OnClick функции для кнопки:

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

я начиная идти на это, однако, в андроиде документации ее говорят мне, что функции, такие как getDay и getMonth являются устаревшими и использовать функции календаря.

Теперь, конечно, я не хочу начинать использовать устаревшие функции, так как im все это новое и не хочет вдаваться в плохие практики, но я читаю в другом вопросе переполнения стека, что использование календаря происходит медленнее, чем другие решения.

им просто ищет ответы на вопрос о том, как сделать это самым правильным и эффективным способом .... спасибо.

EDIT:

я только что прочитал этот вопрос: How to store and get datetime value in SQLite

один из ответов рекомендует использовать метку времени Unix, который является тем, что я был первоначально думал делать. есть ли способ, которым я могу это сделать, преобразовывая временную метку unix (long) в строку, когда я показываю ее и сохраняю ее, и все еще использую функции Calendar?

ответ

1

получить текущее время и преобразовать его в метку времени:

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

конвертировать обратно:

Calendar date = Calendar.getInstance(); 
date.setTimeInMillis(dateInMillis); 
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); 
+0

я отредактировал мой вопрос, пожалуйста, вы можете иметь вид и дайте мне знать? – scarhand

Смежные вопросы