Плиз помогите мне нужно ответь Определить дату и день недели, которые наступят через 500...

0 голосов
64 просмотров

Плиз помогите мне нужно ответь
Определить дату и день недели, которые наступят через 500 дней, 50 часов, 50 минут и 50 секунд от следующей даты '05.05.2005 17:05:05'.


Информатика (45 баллов) | 64 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
uses System;
begin
  var d:=DateTime.Parse('05.05.2005 17:05:05');
  Writeln('Исходная дата: ',d);
  d:=d.AddDays(500).AddHours(50).AddMinutes(50).AddSeconds(50);
  Writeln('Полученная дата: ',d,' ',d.DayOfWeek);
end.

Результат
Исходная дата: 05.05.2005 17:05:05
Полученная дата: 19.09.2006 19:55:55 Tuesday

(142k баллов)
0

Спасибо огромное вам

0

Пожалуйста. У нас для "спасибо" есть специальная кнопочка, чтобы не писать комментарии, которые потом приходится удалять))))

0 голосов

//Pascal ABC.NET 3.1 сборка 1256

uses
 system;

Var
 d:datetime;
begin
{так как изначальное значение переменной d равно 01.01.0001 0:00:00, вычитаем из года, месяца и дня единицу}
d:=d.AddYears(2004).AddMonths(4).AddDays(4).AddSeconds(5).AddMinutes(5).AddHours(17);
d:=d.AddDays(500).AddHours(50).AddMinutes(50).AddSeconds(50);writeln(d,' ',d.DayOfWeek);
end.

Вывод:
19.09.2006 19:55:55 Tuesday

(38.6k баллов)
0

Ошибка. Попробуйте проверить в Excel: =A1+500+50/24+50/24/60+50/24/3600

0

Да, забыл что при инициализации значение переменных типа datetime равно 01.01.0001 0:00:00. Пытаюсь исправить.

0

Мне надо было в паскале это верно и тебе спасибо что хотел помоч

0

"Спасибо" не мне, а модератору. Я забыл важную деталь.

0

Исправлено.

0

Да, только задавать d:=d.AddYears(2004); d:=d.AddMonths(4); d:=d.AddDays(4); не совсем очевидно при дате 05.05.2005. Может, какой-то более понятный вариант найти... ну, там с отрицательными числами...

0

Либо хотя бы комментарий дать в теле программы. Эти же все будут отрезаны потом.