Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разьясните,плз, System.currentTimeMillis() 
:(
    Опции темы
tudimon
  Дата 9.9.2005, 11:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ подскажите как правильно высчитать месяц и день если использовать System.currentTimeMillis().
У меня вечно получается ошибка. а для того чтобы от нее избавиться приходится вводить проверки - в результате алгоритм разрастается до неимоверных размеров с побочным эффектом - неработоспособностью smile
Может есть какой-нить простой алгоритм?
  Вверх
AntonSaburov
Дата 9.9.2005, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Есть такой класс - java.util.Date. Там есть конструктор, который берет в качестве аргумента милисекунды.
А потом либо использовать депрекейт методы (посмотри в документации), либо через Calendar. Правда я так и не понял, почему надо так сложно - я имею в виду через Calendar.
PM MAIL WWW ICQ   Вверх
LSD
Дата 9.9.2005, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 1
Всего: 538



Цитата(AntonSaburov @ 9.9.2005, 13:24)
А потом либо использовать депрекейт методы (посмотри в документации), либо через Calendar. Правда я так и не понял, почему надо так сложно - я имею в виду через Calendar.

Дело в том, что java.util.Date это только хранилище для даты (в милисекундах от 01/01/1970, 00:00:00 GMT). А для работы с датами: например вычислить какой дате будет соответсвовать третий день, второй недли пятого месяца, и существует календарь. Просто календари бывают разные: в Java реализоны грегорианский и буддистский календари. Но есть возможность реализовать например лунный (у него в году 13 месяцев), да практически любой.


--------------------
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.
PM MAIL WWW   Вверх
AntonSaburov
Дата 9.9.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Ну тогда вообщем-то разумно. Календарь должен быть умнее даты smile
PM MAIL WWW ICQ   Вверх
Dancer
Дата 9.9.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Код


import java.util.*;

...
Calendar cl = Calendar.getInstance(); // твоя текущая дата
String [] month = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jyl", "Aug", "Sep", "Oct", "Nov", "Dec"};

//получение даты
System.out.println("Day= "+cl.get(Calendar.DATE));

//получение месяца
System.out.println("Month= "+month[cl.get(Calendar.MONTH)]); // месяцы от 0 до 11

//получение года
System.out.println("Year= "+cl.get(Calendar.YEAR));

//установка нового значения даты для твоего объекта
cl.set(Calendar.DATE, 1);
cl.set(Calendar.MONTH,0);
cl.set(Calendar.YEAR,0);

System.out.println("New date= "+cl.get(Calendar.DATE)+" - "+month[cl.get(Calendar.MONTH)]+" - "+cl.get(Calendar.YEAR));

...


Это сообщение отредактировал(а) Dancer - 9.9.2005, 14:44


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
W0LF
Дата 9.2.2006, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Код

        Calendar cnd = Calendar.getInstance();
        cnd.setTime(new Date(creationTime));
        int day = cnd.get(Calendar.DATE);
        int month = cnd.get(Calendar.MONTH) + 1;
        

где
Код

creationTime = System.currentTimeMillis();


Это сообщение отредактировал(а) W0LF - 10.2.2006, 15:02


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.