powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Конвертирование типа Date
13 сообщений из 13, страница 1 из 1
Конвертирование типа Date
    #38614231
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, в MS Access у меня дата хранится в формате MM/dd/yyyy, при выборке этого поле в JTable дата отображается как yyyy-MM-dd.
Есть компонент DatePicker в котором дата хранится в формате Apr 13, 2014, в который нужно вставить дату скажем 2010-05-08, пытаюсь использовать код ниже не получается, ошибка внизу:

Код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
	public Date getDate(JTable myTable, String columnName) {
		Date date = null;
		try {
			date = (Date) new SimpleDateFormat("d MM,y", Locale.US).parse(getTableCell(myTable, columnName));
		} catch (ParseException e1) {
			e1.printStackTrace();
			date = null;
			return date;
		}
		return date;
	}



Ошибка:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
java.text.ParseException: Unparseable date: "2010-05-08"
	at java.text.DateFormat.parse(Unknown Source)
	at DCCViewer.MainWindow.getDate(MainWindow.java:295)
	at DCCViewer.MainWindow$4.mouseClicked(MainWindow.java:205)
	at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
null


Кто нибудь сталкивался с такой проблемой? Подскажите пожалуйста решение.
P.S Пытался использовать вместо "d MM,y" и другие форматы как "yyyy-MM-dd", "MM/dd/yyyy" и т.д, но все тщетно.
Спасибо заранее.
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614244
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidЕсть компонент DatePicker в котором дата хранится в формате Apr 13, 2014
Дата именно в строке хранится или все таки в Date?
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614402
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компонент DatePicker показан на рисунке, как видите компонент построен в стиле JCalendar:
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614485
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid, я просто ни разу не сталкивался с ситуацией, когда дата насильно хранится в строке. Обычно long или date.
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614487
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, и access тоже дату хранит не как строку. Это подсказка.
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614489
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidКомпонент DatePicker показан на рисунке, как видите компонент построен в стиле JCalendar:
Это по-моему com.michaelbaranov.microba.calendar.DatePicker и него есть метод setDateFormat() - какой формат подсунешь, так он и будет показывать. Ну и методы getDate(), setDate(), работающие с java.util.Date.
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614940
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, тип данных Date, народ немного уйду в оффтоп, подскажите, я вот рисую ручками форму без Eclipse-Window Builder, размер текста в JTextField длинее чем размер самого компонента и поэтому при запуске форма фиксированной ширины а из за того что текст в JTextField длинный сам компонент JTextField тоже стал широким и конец ушел куда то за формой, setSize не помогает, что за ошибка у меня? Вот код:
На Root Panel ContentPane тоже ставил фиксированную длину но все это не помогает.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        	JTextField _PDFLink = new JTextField();
		JPanel PDFLinkPanel = new JPanel();
		PDFLinkPanel.setBorder(BorderFactory.createTitledBorder("PDFLink"));
		PDFLinkPanel.setLayout(new BoxLayout(PDFLinkPanel, BoxLayout.X_AXIS));		
		_PDFLink.setMaximumSize(new Dimension(1000,25));		

		_PDFLink.setText("Z:\\blablablablalblallalalalalaaaaaaaaaaaaaaaaaaaaaaaaaaa");
		_PDFLink.setToolTipText(_PDFLink.getText());
		
		PDFLinkPanel.add(_PDFLink);
......

		MainPane.add(PDFLinkPanel );
		
		JScrollPane jspane = new JScrollPane(MainPane, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		
		this.pack();
		
		this.setResizable(false);
		this.setSize(180, 768);


И на рисунке как отобразился JTextField - _PDFLink
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614941
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614946
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал setDateFormat (дата 5/8/2010):
Код: java
1.
DccDate = getDate(_dccTable, "DCC Date");


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
	public Date getDate(JTable _dccTable, String columnName) {
		Date date = new Date();
		String testDate = getTableCell(_dccTable, columnName);
		DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		
		try {
			date = formatter.parse(testDate);
		} catch (ParseException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			date = null;
			return date;
		}
		return date;
	}


Принимаю в другом классе полученные данные:
Код: java
1.
2.
3.
4.
5.
6.
7.
		try {
			_DccDatePicker.setDate(m.DccDate);
			System.out.println(_DccDatePicker.getDate());
		} catch (PropertyVetoException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}


И вот опять в Long format:
Sat May 08 00:00:00 UZT 2010
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38614992
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid
Код: java
1.
String testDate = getTableCell(_dccTable, columnName);


То есть Date получить не можешь? Только строку?
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38615202
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу потому что в JTable-е дата хранится в String.
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38615235
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidНе могу потому что в JTable-е дата хранится в String.
И в access дата хранится в строке?
...
Рейтинг: 0 / 0
Конвертирование типа Date
    #38615271
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class DateFromStringExample {


    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String strDate = "2014-04-15";
        System.out.println(sdf.parse(strDate));
    }
}



Так тоже не работает?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Конвертирование типа Date
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]