2015-11-23 2 views
-1

Так что я полностью потерян. Я должен распечатать фактическую дату и время, используя только currentTimeMillis() и ничего больше. Получение времени не было проблемой:используя только currentTimeMillis(), чтобы получить дату

long t = java.lang.System.currentTimeMillis(); 

long seconds = (t/1000) % 60; 
long minutes = (t/(1000 * 60)) % 60; 
long hours = (t/(1000 * 60 * 60) % 24) + zone; 

Но как я могу рассчитать дату, учитывая високосные годы?

Редактировать: Это домашнее задание, отсюда этот странный вопрос. И мы не можем использовать другие методы помимо currentTimeMillis(). Операторы и все в порядке.

+1

каждый 4-й год является прыжком, поэтому в чем проблема? – VDanyliuk

+0

Какова ценность переменной зоны? – Dish

+0

Я думаю, что зона является часовым поясом в часах. – VDanyliuk

ответ

0

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

//let's say time zone is +5:30 
long zone = 6; //instead of 5, keeping value 6, thus added extra 30 minutes 
long minuten = (t/(1000 * 60)) % 60; 
long stunden = (t/(1000 * 60 * 60) % 24) + zone; 
if(minuten < 30){ // this is to take care of the cases where hour has moved ahead 
    stunden--; 
    minuten+=30; 
} else{ 
    minuten-=30; // else deduct those additional 30 minutes 
} 
0

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

Самый простой способ, которым я могу думать:

long t = java.lang.System.currentTimeMillis(); 
System.out.println(new Date(t)); 

Но я уверен, что это не то, что вам нужно. Пожалуйста, уточните ...

+1

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/10303112) – user1438038

+0

Это частичный ответ. В комментарии я не мог легко представить пример кода, который я предоставил. Кроме того, я намерен предоставить полный ответ после получения дополнительной информации. –

+0

Я действительно не знаю, в чем суть этой задачи. Было бы непросто, если бы нам разрешили использовать другие методы. Это скорее математическая проблема. –

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