Как конвертировать дату Android в Linux TimeStamp? - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть строка даты в

ДД-ММ-ГГГГ (28-11-2011)

Я хочу преобразовать ее в метку времени Linux без времениили время равно нулю.

Я делаю это с помощью

String dateString="13-09-2011";
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
              Date date = null;
              try {
                    date = (Date)formatter.parse(dateString);
                    Log.v(Constants.LOGGING_TAG, "Date is " + dateString);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                Log.v(Constants.LOGGING_TAG, "Today is " + date.getTime());

, но это не дает желаемого результата.У любого органа есть идея решить эту проблему.

1 Ответ

3 голосов
/ 28 ноября 2011

Непонятно, в чем проблема, поскольку вы не сказали нам, что ожидали и что получаете, но я подозреваю, что есть две потенциальные проблемы:

  • У вас естьне указан часовой пояс, поэтому средство форматирования будет анализировать значение в системном часовом поясе системы.Если вам нужна только дата, вам, вероятно, следует сначала установить форматирование на UTC:

    formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
    
  • Если вам нужно значение времени Unix (в секундах), вам нужно разделитьзначение в Date на 1000, так как java.util.Date представлено в миллисекундах:

    long seconds = date.getTime() / 1000;
    

Я бы также настоятельно рекомендовал вместо Joda Time встроенные классы для манипуляции с датой и временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...