2012-01-05 6 views
1

моя проблема с RegularTimePeriod ... У меня есть дата в базе данных, сохраненная как Дата Тип Я пытаюсь получить их и обработать их через RegularTimePeriod, но он продолжает давать мне нуль ... кодПреобразование даты в java для построения графика

RegularTimePeriod t = new Day(); 
    t = t.createInstance(Date.class, resultado.getData(), TimeZone.getDefault()); 

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

+0

Возможности Date и Time, встроенные в Java, являются печально печальными. Я бы предложил вам использовать библиотеку JodaTime для выполнения _anything_ с датами или временем. Это делает то, что вы пытаетесь сделать почти весело. – cdeszaq

ответ

0

Посмотрите на исходный код этой функции

public static RegularTimePeriod createInstance(Class c, 
         Date millisecond, TimeZone zone) { 
    RegularTimePeriod result = null; 
    try { 
     Constructor constructor = c.getDeclaredConstructor(
        new Class[] { Date.class, TimeZone.class }); 
     result = (RegularTimePeriod) constructor.newInstance(
        new Object[] { millisecond, zone }); 
    } catch (Exception e) { 
     // do nothing, so null is returned 
    } 
    return result; 
} 

он ожидает подкласс RegularTimePeriod, но использовать его с Date, который не то, что требуется.

Я предполагаю, что вы должны сделать что-то вроде

т = t.createInstance (день .class, resultado.getData(), TimeZone.getDefault());

+0

Большое вам спасибо за совет, я попробую его сейчас и обновит – WhatEver

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