<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: разбор времени в 7.1]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме разбор времени в 7.1 форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 03 Aug 2026 00:38:02 -0400</pubDate>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411999">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Это эпоха без эпох! <br />
			<i>04.06.2022 20:35:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411999</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411999</guid>
			<pubDate>Sat, 04 Jun 2022 20:35:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411998">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			MikroTik обязательно должен везде внедрить формат даты и времени ISO:8601, а не пользоваться кучей разных вариантов отображения даты и времени, при этом сохранить работу с "Epoch" повсюду. Вместо того чтобы использовать сокращённые даты в логах или разные варианты Jun/JUN/jun в разных полях и три разных формата даты в логах — к примеру, почему бы не применить логичный и удобный для сортировки формат вроде 2022/06/02?<br /><br />Примеры даты и времени в формате ISO:8601:<br /><br />2022-06-02T21:10:26+00:00 (Великобритания) &nbsp;<br />2022-06-02T21:10:26Z (UTC) &nbsp;<br />2022-06-02T23:10:26+02:00 (Италия) &nbsp;<br /><br />:toisodatetime [:timestamp] = 2022-06-02T21:10:26Z  <br />:todatetime [:timestamp] = 2022/06/02 21:10:26  <br />0 — это смещение времени в минутах, по умолчанию 0, если не указано, для UTC &nbsp;<br />[:toepoch “2022/06/02 21:10:26” 0] = 1654204226 <br />
			<i>02.06.2022 12:33:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411998</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411998</guid>
			<pubDate>Thu, 02 Jun 2022 12:33:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411997">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Что я не могу понять, так это как MikroTik может годами наблюдать, как люди пишут безумно длинные скрипты для базовых операций, и при этом не подумать: «Хм, а может, стоит добавить для этого какие-то функции?» (честно говоря, такая мысль у них была, но дальше она не пошла). Разве не очевидно, что такие функции были бы полезны и приветствовались? По поводу времени — почему мы не можем делать что-то вроде [:totime “2022-06-02 04:15:30”], [:dateformat “Y-m-d H:i:s” [:timestamp]] (взять формат, например, из функции date() в PHP) и так далее? <br />
			<i>02.06.2022 02:32:00, Sob.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411997</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411997</guid>
			<pubDate>Thu, 02 Jun 2022 02:32:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411996">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хорошо знать! Может быть, когда-нибудь :tonum будет работать с типом времени, чтобы получить «количество тиков» из :timestamp. Или, что еще лучше, появится опция для :timestamp вроде type=num|str или format=“%s”. <br />
			<i>01.06.2022 21:28:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411996</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411996</guid>
			<pubDate>Wed, 01 Jun 2022 21:28:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411995">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			:timestamp должен возвращать время с момента эпохи, где эпоха — 1 января 1970 года, без учёта високосных секунд. <br />
			<i>01.06.2022 20:57:00, mrz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411995</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411995</guid>
			<pubDate>Wed, 01 Jun 2022 20:57:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411994">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хорошая новая функция :timestamp. Но функция возвращает тип time. Если хочешь преобразовать тип time в числовой — функция :tonum работает с ошибкой [:tonum [:timestamp]] возвращает nil… Однако [:totime ANYNUMBER] работает корректно. <br /><br />У меня есть скрипт с функцией для правильного преобразования времени в число (целочисленное unix-время в секундах):<br /><br />:global timetonum do={<br /> &nbsp; &nbsp;:local time2parse [ :timestamp ];<br /> &nbsp; &nbsp;:if ( [ :typeof $1 ] != "nil" ) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if ( [ :typeof [ :totime $1 ] ] = "time" ) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set time2parse [ :totime $1 ];<br /> &nbsp; &nbsp; &nbsp; &nbsp;};<br /> &nbsp; &nbsp;};<br /><br /> &nbsp; &nbsp;:local weeks 0;<br /> &nbsp; &nbsp;:if ( [ :typeof [ :find $time2parse "w" ] ] != "nil" ) do={ :set weeks [ :pick $time2parse 0 [ :find $time2parse "w" ] ]; };<br /><br /> &nbsp; &nbsp;:local days 0; :local startpos 0;<br /> &nbsp; &nbsp;:if ( $weeks != 0 ) do={ :set startpos ( [ :find $time2parse "w" ] + 1 ); };<br /> &nbsp; &nbsp;:if ( [ :typeof [ :find $time2parse "d" ] ] != "nil" ) do={ :set days [ :pick $time2parse $startpos [ :find $time2parse "d" ] ]; };<br /><br /> &nbsp; &nbsp;:local hours [ :pick $time2parse ( [ :find $time2parse ":" ] - 2 ) [ :find $time2parse ":" ] ];<br /><br /> &nbsp; &nbsp;:local minutes [ :pick $time2parse ( [ :find $time2parse ":" ] + 1 ) ( [ :find $time2parse ":" ] + 3 ) ];<br /><br /> &nbsp; &nbsp;:local seconds [ :pick $time2parse ( [ :find $time2parse ":" ] + 4 ) ( [ :find $time2parse ":" ] + 6 ) ];<br /><br /> &nbsp; &nbsp;:return ( ( $weeks * 604800 ) + ( $days * 86400 ) + ( $hours * 3600 ) + ( $minutes * 60 ) + $seconds );<br />};<br /><br />Использование: <br />:put [$timetonum] — получаем целочисленный таймстамп  <br />:put [$timetonum 1d1h2s] — конвертирует заданное время в целое число <br />
			<i>31.05.2022 18:29:00, flydvorkin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411994</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411994</guid>
			<pubDate>Tue, 31 May 2022 18:29:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>разбор времени в 7.1</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411993">разбор времени в 7.1</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я заметил новую функцию :timestamp в версии 7.1 и, хотя пока у меня для неё применения нет, сразу подумал о том, чтобы превратить возвращаемую строку в число секунд... Честно говоря, просто подумал, что эта мелочь может кому-то пригодиться, поэтому делюсь здесь:<br /><br />:global unixT2S do={<br /> &nbsp; &nbsp;:local time2parse [:timestamp]<br /> &nbsp; &nbsp;:local w [:find $time2parse "w"]<br /> &nbsp; &nbsp;:local d [:find $time2parse "d"]<br /> &nbsp; &nbsp;:local c [:find $time2parse ":"]<br /> &nbsp; &nbsp;:local p [:find $time2parse "."]<br /> &nbsp; &nbsp;:local weeks [:pick $time2parse 0 [$w]]<br /> &nbsp; &nbsp;:set $weeks ($weeks * 604800)<br /> &nbsp; &nbsp;:local days [:pick $time2parse ($w + 1) $d]<br /> &nbsp; &nbsp;:set days ($days * 86400)<br /> &nbsp; &nbsp;:local hours [:pick $time2parse ($d + 1) $c]<br /> &nbsp; &nbsp;:set hours ($hours * 3600)<br /> &nbsp; &nbsp;:local minutes [:pick $time2parse ($c + 1) [:find $time2parse ($c + 3)]]<br /> &nbsp; &nbsp;:set minutes ($minutes * 60)<br /> &nbsp; &nbsp;:local seconds [:pick $time2parse ($c + 4) $p]<br /> &nbsp; &nbsp;:local nanoseconds [:pick $time2parse ($p + 1) [:len $time2parse]]<br /><br /> &nbsp; # rawtime возвращает число, но точность только до секунды<br /> &nbsp; # precisetime возвращает строку с полной точностью до наносекунд<br /> &nbsp; # раскомментируйте нужный вариант вывода<br /> &nbsp; &nbsp;:local rawtime ($weeks+$days+$hours+$minutes+$seconds)<br /> &nbsp; &nbsp;:return $rawtime<br /> &nbsp; &nbsp;:local precisetime ("$rawtime"."."."$nanoseconds")<br /> &nbsp; &nbsp;#:return $precisetime<br />} <br />
			<i>15.12.2021 17:46:00, deadkat.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411993</link>
			<guid>http://mikrotik.moscow/forum/forum57/86953-razbor-vremeni-v-7.1/message411993</guid>
			<pubDate>Wed, 15 Dec 2021 17:46:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
