Android получить текущую метку времени?



Я хочу получить текущую метку времени так : 1320917972



int time = (int) (System.currentTimeMillis());
Timestamp tsTemp = new Timestamp(time);
String ts = tsTemp.toString();
618   9  

9 ответов:

решение :

Long tsLong = System.currentTimeMillis()/1000;
String ts = tsLong.toString();

из разработчиков блог:

System.currentTimeMillis() Это стандартные "настенные" часы (время и дата), выражающие миллисекунды с момента эпохи. Настенные часы могут быть установлены пользователем или телефонной сетью (см. setCurrentTimeMillis (long)), поэтому время может прыгать назад или вперед непредсказуемо. Эти часы должны использоваться только тогда, когда важна переписка с реальными датами и временем, например, в календаре или приложении будильника. Интервальные или затраченные измерения времени следует использовать другие часы. Если вы используете System.currentTimeMillis(), рассмотрите возможность прослушивания ACTION_TIME_TICK,ACTION_TIME_CHANGED и ACTION_TIMEZONE_CHANGED намерение вещает, чтобы узнать, когда время меняется.

можно использовать SimpleDateFormat класс:

SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
String format = s.format(new Date());

1320917972 является меткой времени Unix, используя количество секунд с 00:00: 00 UTC 1 января 1970 года. Вы можете использовать TimeUnit класс для преобразования единиц - от System.currentTimeMillis() секунд.

String timeStamp = String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));

используйте метод ниже, чтобы получить текущую отметку времени. Это прекрасно работает для меня.

/**
 * 
 * @return yyyy-MM-dd HH:mm:ss formate date as string
 */
public static String getCurrentTimeStamp(){
    try {

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentDateTime = dateFormat.format(new Date()); // Find todays date

        return currentDateTime;
    } catch (Exception e) {
        e.printStackTrace();

        return null;
    }
}

Это просто использовать:

long millis = new Date().getTime();

Если вы хотите его в определенном формате, то вам необходимо форматирования, как показано ниже

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String millisInString  = dateFormat.format(new Date());

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

package com.example.xyz;

import android.text.format.Time;

/**
 * Clock utility.
 */
public class Clock {

    /**
     * Get current time in human-readable form.
     * @return current time as a string.
     */
    public static String getNow() {
        Time now = new Time();
        now.setToNow();
        String sTime = now.format("%Y_%m_%d %T");
        return sTime;
    }
    /**
     * Get current time in human-readable form without spaces and special characters.
     * The returned value may be used to compose a file name.
     * @return current time as a string.
     */
    public static String getTimeStamp() {
        Time now = new Time();
        now.setToNow();
        String sTime = now.format("%Y_%m_%d_%H_%M_%S");
        return sTime;
    }

}

Я предлагаю использовать ответ хитов, но добавить формат локали, вот как Android Разработчики рекомендует:

try {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        return dateFormat.format(new Date()); // Find todays date
    } catch (Exception e) {
        e.printStackTrace();

        return null;
    }

просто использовать

long millis = new Date().getTime();

чтобы получить текущее время в long millis

Comments

    Ничего не найдено.