![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Прочёл вот это:
http://forum.vingrad.ru/index.php?showtopi...getdateinstance но всё таки так и не понял как мне из фаила выташить время его создания в виде TimeStamp (типа в секундах с хачало "веков" |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Стандартными средствами можно вытащить только время последней модификации file.lastModified(), тем более если я не путаю то в ext2 нет даты создания файла (пусть меня линуксоиды попрявят если что).
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
В принсепе цель такая: работаь с фаилами старше чем, скажем, 24 часа. Видел всякие примеры через Calendar Class. Но чего то они какие то кривые для стой простой процедуры. Содержат кучу всего не нужного. а, и ещё, текущее время тоже можно вытащить в формате TimeStamp? P.S. Извиняюсь за слоль элементарные вещи, так как обычно работал в юниксе, а там всё значительно проще... |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
file.lastModified() - дает время в милисекундах от 1 января 1970 года GMT (это long). Для работы с датой ты можешь использовать calendar.setTimeInMillis(file.lastModified()) и дальше уже анализировать дату. Но если у тебя простые задачи по работе с временными интервалами, то можно обойтись и без этого. Например что файл "не старше" 24-х часов можно так: (System.currentTimeMillis() - file.lastModified()) < 24 * 60 * 60 * 1000.
TimeStamp - это класс для работы с БД, там еще есть наносекунды, но такая точность тебе я думаю не нужна. А стандартным классом для работы с датой-временем является java.util.Date, он хранить время с точностью до миллисекунд. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Ты уверен что в милисекундах? Опять же, в обычных операционках (как Юникс) понятие TimeStamp -> секунды от 1 января 1970 года GMT... |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
LSD
О!!! Вот это я как раз и искал Кстати, в этом деле есть ещё одна проблемма: Допустим фаилы находятся на серваке, при этом System.currentTimeMillis() даёт локальное время, если я не ошибаюсь. А теперь представь себе сервер находящийся на другой стороне земного шара и я к нему подключаюсь через ФТП... Уже не говоря о том что время на локалке может быть выставленно не правильно. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Тогда надо как-то синхронизировать время, сам понимаешь если время разошлось неизвестно насколько, то и результат не предсказуем. Кстати Jakarta Commons Net поддерживает Network Time Protocol, так что с его помощью можно синхронизировать время, только установить системное время на чистой Java нельзя.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Спасибо, это то что нужно. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
C этим не пройдёт. Так как для чтения фаилов на сервере я пользуюсь FTPFiles[] у этого класса нет такой функции... |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Но есть функция getTimestamp(), ты получаешь java.util.Calendar, из него можно сделать getTimeInMillis() и получишь время в миллисекундах. А можешь и непосредственно им оперировать, смотря что тебе от даты нужно.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
ОК, это я сделал. Но вот достфть северное время мне не удаётся... Просто не нахожу как. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Это не сложно:
Offset - это то на сколько отличается время на локальной машине, от времени на сервере. Надо просто прибавить его к System.currentTimeMillis() и получим время на сервере. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
||||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
В результате я так и сделал, но думал что есть прямой путь. |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |