Исключение даты при попытке использовать метод даты - PullRequest
0 голосов
/ 07 января 2011

Я определил объектную модель, в которой одним из элементов массива является строка

public static String[] columnNames6
          = {"Total Shares",
             "Total Calls",
             "Call Strike",
             "Call Premium",
             "Call Expiry"
            };

public static Object[][] data6
= {
         { new Double(0), new Double(0), new Double(0), new Double(0),"dd/mm/yyyy"},
       };

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

Спасибо

Саймон

Ответы [ 2 ]

2 голосов
/ 07 января 2011

ExpiryDate - строка, пытающаяся изменить ее на дату, устаревшая

Date(String s) Deprecated. As of JDK version 1.1, replaced by DateFormat.parse(String s).

Вот пример:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

Date today = df.parse("25/12/2010");            

System.out.println("Today = " + df.format(today));
0 голосов
/ 07 января 2011

Как сказал JonH, вы должны использовать DateFormat.parse вместо new Date(String). Кроме того, ваш расчет разницы дат также, вероятно, не очень хорош:

//Calculate Days Option Expiry
long DaysDifference    = EndOptionDate.getTime() - TodaysDate.getTime();

Даст вам разницу в миллисекундах между двумя датами, а не в днях. Вы можете использовать TimeUnit, чтобы получить разницу в днях:

long dayDiff = TimeUnit.MILLISECONDS.toDays(EndOptionDate.getTime() - TodaysDate.getTime());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...