<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Арифметические операции со временем]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Арифметические операции со временем форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 07:53:34 +0300</pubDate>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32907/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_jycy7ojT" href="/user/2282/" bx-tooltip-user-id="2282">Алексей Ч</a>, <br />спасибо.<br />я нашёл функцию, которая это делают
====code====
<pre>function time_to_number(t)&nbsp;&nbsp;&nbsp;&nbsp;return (math.floor(t / 10000) * 60 * 60) + ((math.floor(t / 100) % 100) * 60) + (t % 100)
&nbsp;&nbsp;&nbsp;&nbsp;-- you can also use % 10000 if the hours are limited to two digits
end
</pre>
=============
А если надо подобное число конвертировать обратно, то есть другая функция.
====code====
<pre>
function time_split(t)&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;local hour = math.floor(t / 3600)
&nbsp;&nbsp;&nbsp;&nbsp;local min = math.floor((t % 3600) / 60)
&nbsp;&nbsp;&nbsp;&nbsp;local sec = (t % 3600) % 60
&nbsp;&nbsp;&nbsp;&nbsp;return hour, min, sec&nbsp;&nbsp;
end</pre>
============= <br />
			<i>24.08.2018 22:52:01, Let_it_go.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32907/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32907/topic3902/</guid>
			<pubDate>Fri, 24 Aug 2018 22:52:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32906/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&quot;101200&quot; преобразуйте в секунды примерно так 10*3600+12*60+00. Секунды как есть, минуты умножайте на 60, часы на 3600 (3600 секунд в 1 часе). Получаем 36720 секунд. <br />Потом прибавляйте сколько нужно. К примеру +45 сек. И затем обратные действия.<br />36720+45 = 36765.<br />36765 делим на 60. Остаток от деления = <B>45</B>- это секунды<br />36765 - 45 = 36720 (остались минуты и часы)<br />36720 делим на 3600, остаток от деления = 720. Делим на 60, получаем <B>12</B> - это минуты<br />36720 - 720 = 36000 (остались только часы)<br />36000 / 3600 = <B>10 </B>- часы.<br />В итоге 101245...<br />как то так <br />
			<i>24.08.2018 22:26:09, Алексей Ч.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32906/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32906/topic3902/</guid>
			<pubDate>Fri, 24 Aug 2018 22:26:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32904/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ответы не понятны. При чём здесь 1970 год?<br />Я вытягиваю из текущей таблицы время последнего изменения через tonumber(getParamEx(&quot;SPBFUT&quot;,tech_instr,&quot;CHANGETIME&quot;).param_value) <br />оно имеет вид 101200 <br />Добавлять секунды мне нужно к этому числу. <br />
			<i>24.08.2018 20:18:51, Let_it_go.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32904/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32904/topic3902/</guid>
			<pubDate>Fri, 24 Aug 2018 20:18:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32823/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KnkhlGJD" href="/user/3905/" bx-tooltip-user-id="3905">Let_it_go</a> написал:<br />Все мои арифметические операции с секундами. Это главная потребность. Минуты и часы не нужны<br />=============<br />Добрый день.<br />Если все операции с секундами, то, действительно, как уже сказал выше <B>s_mike</B>, все вычисления можно делать стандартными функциями. Вот небольшой пример:<br />
====code====
<pre>my_time = {year=1970, month=1, day=1, hour=12, min=45, sec=59}

n_time = os.time(my_time)
t_time = os.date("*t", n_time+62)

message(tostring(t_time.hour).. ':' .. tostring(t_time.min) .. ':' .. tostring(t_time.sec))
</pre>
=============
&gt;&gt; 12:47:1<br /><br /><noindex><a href="https://www.lua.org/pil/22.1.html" target="_blank" rel="nofollow">https://www.lua.org/pil/22.1.html</a></noindex> <br />
			<i>22.08.2018 06:16:32, Nikolay Pavlov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32823/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32823/topic3902/</guid>
			<pubDate>Wed, 22 Aug 2018 06:16:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32819/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://www.bot4sale.ru/blog-menu/qlua/368-lua-time.html" target="_blank" rel="nofollow">http://www.bot4sale.ru/blog-menu/qlua/368-lua-time.html</a></noindex> <br />
			<i>21.08.2018 18:20:05, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32819/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32819/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 18:20:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32818/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Все что вам нужно уже есть в луа. Используйте os.time, чтобы преобразовать таблицу времени в число секунд, прибавляй п-ов читайте секунды и преобразуйте назад через os.date. <br />
			<i>21.08.2018 16:08:29, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32818/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32818/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 16:08:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32817/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_H3ZRidsY" href="/user/459/" bx-tooltip-user-id="459">Nikolay Pavlov</a> написал:<br />Добрый день.<br />Уточните, Вы всегда хотите прибавлять/отнимать секунды?<br />=============<br />Все мои арифметические операции с секундами. Это главная потребность. Минуты и часы не нужны <br />
			<i>21.08.2018 15:09:14, Let_it_go.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32817/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32817/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 15:09:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32816/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Когда-то для своих нужд писал функцию прибавления минут (не помню почему, но нужно было прибавлять именно только минуты), можно переработать и сделать универсальной для сложения/вычитания двух временнЫх значений:
====code====
<pre>--функция прибaвляет минуты к времени time.
--time передается в формате {hour, min, sec}
function addTime(time, min)
&nbsp;&nbsp;local _time = copy(time)
&nbsp;&nbsp;if min &#62;= 60 then
&nbsp;&nbsp;&nbsp;&nbsp;local hour = math.floor(min/60)
&nbsp;&nbsp;&nbsp;&nbsp;_time.hour = _time.hour + hour
&nbsp;&nbsp;&nbsp;&nbsp;min = min - hour*60
&nbsp;&nbsp;end
&nbsp;&nbsp;_time.min = _time.min + min
&nbsp;&nbsp;if _time.min &#62;= 60 then
&nbsp;&nbsp;&nbsp;&nbsp;_time.hour = _time.hour + 1
&nbsp;&nbsp;&nbsp;&nbsp;_time.min = _time.min - 60
&nbsp;&nbsp;end
&nbsp;&nbsp;if _time.hour &#62;= 24 then
&nbsp;&nbsp;&nbsp;&nbsp;_time.hour = _time.hour - 24
&nbsp;&nbsp;end
&nbsp;&nbsp;return _time
end
</pre>
============= <br />
			<i>21.08.2018 15:06:36, Nikolay Pavlov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32816/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32816/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 15:06:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32815/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />Уточните, Вы всегда хотите прибавлять/отнимать секунды? <br />
			<i>21.08.2018 14:34:54, Nikolay Pavlov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32815/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32815/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 14:34:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Арифметические операции со временем</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32813/topic3902/">Арифметические операции со временем</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я совершаю в Луа арифметические операции со временем. Например 124500+5=124505 (12:45:05).<br />По какой формуле я могу избежать проблемы с 60 минутами/секундами?<br />124459+5=124504 (не 124464) <br />Как этого добиться? <br />
			<i>21.08.2018 14:24:21, Let_it_go.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32813/topic3902/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32813/topic3902/</guid>
			<pubDate>Tue, 21 Aug 2018 14:24:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
