LINUX.ORG.RU
ФорумTalks

Начинаем обратный отсчёт до 2020-го года

 , ,


0

1

Сабж. А поможет в этом эта программа:

program timeto2020;
{$codepage utf8}
uses cwstring, sysutils, dateutils;
var
        nowtime, thentime, timediff: int64;
        ttdays, tthours, ttminutes, ttseconds: int64;
begin
        nowtime := datetimetounix(now);
        thentime := datetimetounix(encodedate(2020, 1, 1));
        timediff := thentime - nowtime;
        ttdays := timediff div 86400;
        dec(timediff, ttdays * 86400);
        tthours := timediff div 3600;
        dec(timediff, tthours * 3600);
        ttminutes := timediff div 60;
        dec(timediff, ttminutes * 60);
        ttseconds := timediff;
        writeln('до 2020 года осталось ', ttdays, ' дней, ', tthours, ' часов, ',
                ttminutes, ' минут и ', ttseconds, ' секунд.');
end.

$ ./timeto2020
до 2020 года осталось 59 дней, 11 часов, 4 минут и 28 секунд.

★★★★★

Код на Паскале сам по себе так говняво выглядит, или ты это такой виртуоз?

Deleted ()

Да ты ж программист наш!

neocrust ★★★★★ ()
Ответ на: комментарий от neocrust

Ждём от ТСа ААА-игру «Угадай число». Сразу на главную можно будет постить.

Deleted ()
Ответ на: комментарий от saahriktu

Хм, действительно. Печально думать, что мировое IT не имело такой нужной и ценной программы.

Предлагаю ещё ряд ценных и нужных программ для воплощения на Паскале:

лунный календарь народности Тупайя
утилита для подсчёта чиханий
база данных катышек на свитере
напоминалка о подстригании ногтей
хранилище изображений дырок на носках
навигатор по подвалу дома №17 ПГТ Великодырск
менеджер вилок на домашней кухне
клиент для скачивания песен Иванушек Интернешнл

Deleted ()

А текстовый квест с ascii - интерфейсом, который можно играть в «ядерной консоли» сделать сможете?

Leupold_cat ★★★ ()
Ответ на: комментарий от Thetan

Вот из-за того, что кто-то так мыслит, нет кучи софта. Который кому-то приходится писать.

saahriktu ★★★★★ ()

А вот это более универсальный вариант, который считает время не до конкретного года, а до следующего:

program timetonextyear;
{$codepage utf8}
uses cwstring, sysutils, dateutils;
var
        nowtime, thentime, timediff: int64;
        ttdays, tthours, ttminutes, ttseconds: int64;
        syear, smonth, sday: word;
begin
        decodedate(now, syear, smonth, sday);
        inc(syear);
        nowtime := datetimetounix(now);
        thentime := datetimetounix(encodedate(syear, 1, 1));
        timediff := thentime - nowtime;
        ttdays := timediff div 86400;
        dec(timediff, ttdays * 86400);
        tthours := timediff div 3600;
        dec(timediff, tthours * 3600);
        ttminutes := timediff div 60;
        dec(timediff, ttminutes * 60);
        ttseconds := timediff;
        writeln('до ', syear, ' года осталось ', ttdays, ' дней, ', tthours, ' часов, ',
                ttminutes, ' минут и ', ttseconds, ' секунд.');
end.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)

{$codepage utf8}

Разве теперь utf8 не по умолчанию?

record ★★★★★ ()

Ты боишься, что лоровцы пропустят или думаешь, что этот код показывает выразительность паскаля?

seiken ★★★★★ ()

Взрослый же дядя, такие хеллоуворды в школе пишут, зачем ты это на ЛОР притащил?

WitcherGeralt ★★ ()

Не вижу указания лицензии, без неё код по дефолту проприетарщина, нам даже смотреть на него нежелательно, поэтому оффтоп, язабан.

Harald ★★★★★ ()

до 2100 года осталось 29279 дней, 3 часов, 11 минут и 17 секунд. )))

record ★★★★★ ()
Ответ на: комментарий от saahriktu

Это есть в каждом втором боте для мессенджеров, изобретатель ты наш.

WitcherGeralt ★★ ()

Ты набухался что-ли уже по поводу грядущего НГ?

DELIRIUM ★★☆☆☆ ()
Ответ на: комментарий от Deleted

народности Тупайя

Это же вроде жывотное какое-то. Хотя…

Nervous ★★★ ()
Ответ на: комментарий от Nervous

Эта народность состоит исключительно из девушек.

DELIRIUM ★★☆☆☆ ()
Ответ на: комментарий от WitcherGeralt

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

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Deleted

напоминалка о подстригании ногтей

Я тут слышал, что людей, тяготеющих к паскалю, больше беспокоят волосы в ушах.

Nervous ★★★ ()
Ответ на: комментарий от WitcherGeralt

Что Вы как не программист? Пишите нехеллоуворды на работе, никто Вам не запрещает.

(Собственно, по этой причине я за продвижение термина «хакер». Хакеры любят программировать, а потому радуются любым однострочникам, поскольку размер программы в байтах не важен. И даже наоборот, - чем больше получилось сократить программу и чем меньше она жрёт ресурсов - тем лучше.)

saahriktu ★★★★★ ()
Ответ на: комментарий от record

Разве теперь utf8 не по умолчанию?

Вообще, да, по умолчанию.

saahriktu ★★★★★ ()

У вас единицы измерения не склоняются — не зачет. Должно быть: «до 2020 года осталось 52 дня, 3 часа, 1 минута и 33 секунды»

Deleted ()

ttdays := timediff div 86400;
dec(timediff, tthours * 3600);

Какая неконсистентность!

EXL ★★★★★ ()
Ответ на: комментарий от saahriktu

В любых, например jabber.

Ничем таким не пользуюсь

Врёшь как дышишь. Недавно тут чатик быдлограме рекламировал.

WitcherGeralt ★★ ()
Ответ на: комментарий от saahriktu

поскольку размер программы в байтах не важен

Важна польза от программы, которая у сабжа нулевая. Именно по этому критерию это школоло хеллоуворд.

WitcherGeralt ★★ ()
Ответ на: комментарий от saahriktu

Учение Столлмана велит указывать лицензию в начале каждого файла с исходными кодами, для избежания недоразумений

Harald ★★★★★ ()

Куда резоннее спросить зачем ТС хочет знать сколько дней осталось до 2020го? Может радуется поводу накатить, но он, судя по постам, и так не просыхает.

ptarh ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

Важна польза от программы, которая у сабжа нулевая

Кому как. Никто же не запрещал тем, кому она ненужна, проходить мимо.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)

Не благодари.

#!/usr/bin/env python3

from datetime import datetime

print(datetime(2020, 1, 1, 0, 0, 0) - datetime.now())
# 59 days, 9:45:05.901267
RazrFalcon ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Нечестно. Вы используете уже готовый код из библиотеки.

Leupold_cat ★★★ ()
Ответ на: комментарий от Deleted

Нет, несложно. Просто не всем нужно. Но при необходимости можно и допилить:

program timetonextyear2;
{$codepage utf8}
uses cwstring, sysutils, dateutils;
const
	alltimesspells: array[0..11] of unicodestring = (
		'день',
		'дня',
		'дней',
		'час',
		'часа',
		'часов',
		'минута',
		'минуты',
		'минут',
		'секунда',
		'секунды',
		'секунд');
var
	nowtime, thentime, timediff: int64;
	ttdays, tthours, ttminutes, ttseconds: int64;
	syear, smonth, sday: word;

function gettimespell(tval: int64; totswitch: integer): unicodestring;
var
	lstdgt: Integer;
begin
	lstdgt := tval mod 10;
	case (lstdgt) of
	1: gettimespell := alltimesspells[3 * totswitch];
	2 .. 4: gettimespell := alltimesspells[3 * totswitch + 1];
	else gettimespell := alltimesspells[3 * totswitch + 2];
	end;
end;

begin
	decodedate(now, syear, smonth, sday);
	inc(syear);
	nowtime := datetimetounix(now);
	thentime := datetimetounix(encodedate(syear, 1, 1));
	timediff := thentime - nowtime;
	ttdays := timediff div 86400;
	dec(timediff, ttdays * 86400);
	tthours := timediff div 3600;
	dec(timediff, tthours * 3600);
	ttminutes := timediff div 60;
	dec(timediff, ttminutes * 60);
	ttseconds := timediff;
	writeln('До ', syear, ' года осталось ', ttdays, ' ',
		gettimespell(ttdays, 0) ,', ',
		tthours, ' ', gettimespell(tthours, 1), ', ',
		ttminutes, ' ', gettimespell(ttminutes, 2),' и ',
		ttseconds, ' ', gettimespell(ttseconds, 3), '.');
end.
$ ./timetonextyear2
До 2020 года осталось 59 дней, 8 часов, 22 минуты и 43 секунды.

saahriktu ★★★★★ ()

А до 3 сентября твоя программа может отсчет вести? :)

Zubok ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)