Моя временная метка int для Date не работает - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь создать метод, который возвращает дату временной метки, и преобразование не выполняется правильно (Дата не принимает все значение):

String stringDate = "" + operationDate; // operationDate is my timestamp : 1235437200
Long date = Long.valueOf(stringDate); // date worth 1235437200
Date now = new Date(date); // date show me the date of 1235437 (not 1235437200)

Как я могу заставить эти линии работать? Я не специалист по Java, но принцип работает!

Спасибо, что прочитали / помогите мне: -)

EDIT

Когда я показываю сейчас (окончательная дата), это дает мне Чт 15 января 08:10:37 CET 1970, и эта дата составляет 1235473 в метке времени ... и я дал ей 12354737200 благодаря значению даты (Long)

Мои файлы импорта

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

РЕДАКТИРОВАТЬ 2:

public String getHumanDate(){
    String stringDate = "" + operationDate;
    System.out.println("stringDate => " + stringDate);

    Long date = Long.valueOf(stringDate);
    System.out.println("date => " + date );

    Date now = new Date(date);
    System.out.println("now => " + now );

    System.out.println("now.toString => " + now.toString());
    return now.toString();
}

дай мне

INFO: stringDate => 1325437200
INFO: date => 1325437200
INFO: now => Fri Jan 16 09:10:37 CET 1970
INFO: now.toString => Fri Jan 16 09:10:37 CET 1970

1 Ответ

2 голосов
/ 01 марта 2012

Объект даты ожидает миллисекунды вместо метки времени Unix, поэтому вам нужно умножить на 1000.

Date now = new Date((long)date * 1000);  
System.out.println("now => " + now );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...