社区讨论

雷竞技网站MikroTik应用
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

将正常运行时间转换为日期和时间

2022年5月1日星期日晚上8:57

大家好,劳动节快乐,有可能使用脚本将路由器板的UPTIME转换为时间和日期,例如:ios版雷竞技官网入口

1w 3d 13:42:38。





EL DONCITO。
用户头像
Jotne
论坛专家
论坛专家
职位: 3197
加入: 2016年12月24日星期六上午11:17
地点:Magrathean

回复:将正常运行时间转换为日期和时间

2022年5月1日星期日晚上10:52

转换:
代码:选择所有
命令:put [/system/resource/get uptime] 5w4d12:38:02
什么?
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月1日星期日晚上10:58

谢谢你的回答,JOTNE,转换5 w3d13:35:38路由器重启的时间和日期。ios版雷竞技官网入口







EL DONCITO。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月2日星期一上午3:29

这样做是非常繁琐的,在microkrotik上“datetime”不存雷竞技网站在,并且不可能简单地从当前“datetime”中减去正常运行时间值。
此外,对于随后的减法,这不是不可能的,但过于复杂,因为您必须计算一个月有多少天,是否有2月29日,等等。

你对这些正常运行时间和启动时间有狂热。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月2日星期一上午5:06

搜索标签#延长在线正常运行时间开始日期时间

只有在RouterBOARD时间同步的情况下才ios版雷竞技官网入口能正常工作。

(也兼容RouterOS 7.10+上的新日期格式)l雷竞技
代码:选择所有
:global currendatetimestr do={/系统时钟:本地vdate [get date]:本地vtime [get time]:本地VGMT [:tonum [get gmt-offset]];:如果($ vgmt > 0 x7fffffff) ={:设置vgmt ($ vgmt - 0 x100000000)}:当地prMntDays [: toarray”59岁,0,0,31日90120151181212243273304334”):当地LcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地PcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地UcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地LcaseWeekDays [: toarray”星期四、星期五坐,太阳,星期一,星期二,星期三”):当地PcaseWeekDays [: toarray”星期四、星期五坐,太阳,星期一,星期二,星期三”):local UcaseWeekDays [:toarray "THU,FRI,SAT,SUN,MON,TUE,WED"] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local gmtSg "+"; :if ($vgmt < 0) do={:set gmtSg "-"; :set vgmt ($vgmt * -1)} :local gmtHr [:pick [:totime $vgmt] 0 2] :local gmtMn [:pick [:totime $vgmt] 3 5] :local vdoff [:toarray "0,4,5,7,8,10"] :local MM [:pick $vdate ($vdoff->2) ($vdoff->3)] :local M [:tonum $MM] :if ($vdate ~ ".../../....") do={ :set vdoff [:toarray "7,11,1,3,4,6"] :set M ([:find "xxanebarprayunulugepctovecANEBARPRAYUNULUGEPCTOVEC" [:pick $vdate ($vdoff->2) ($vdoff->3)] -1] / 2) :if ($M>12) do={:set M ($M - 12)} :set MM [:pick (100 + $M) 1 3] } :local yyyy [:pick $vdate ($vdoff->0) ($vdoff->1)] :local Leap "No-Leap" ; :if ((($yyyy - 1968) % 4) = 0) do={:set Leap "Leap"; :set ($prMntDays->1) -1; :set ($prMntDays->2) 30} :local mmm ($LcaseMnts->$M) :local Mmm ($PcaseMnts->$M) :local MMM ($UcaseMnts->$M) :local dd [:pick $vdate ($vdoff->4) ($vdoff->5)] :local d [:tonum $dd] ; :local totd ((($yyyy - 1970) * 365) + (($yyyy - 1968) / 4) + ($prMntDays->$M) + ($d - 1)) :local www ($LcaseWeekDays->($totd % 7)) :local Www ($PcaseWeekDays->($totd % 7)) :local WWW ($UcaseWeekDays->($totd % 7)) :local HH [:pick $vtime 0 2] :local H [:tonum $HH] :local hh ([:tonum $HH] % 12); :if ($hh = 0) do={:set hh 12}; :set hh [$Fzerofill $hh] :local h [:tonum $hh] :local a "A"; :if ([:tonum $HH] > 11) do={:set a "P"} :local aa "$a\4D" :local mm [:pick $vtime 3 5] :local m [:tonum $mm] :local ss [:pick $vtime 6 8] :local s [:tonum $ss] :local Z "$gmtSg$gmtHr:$gmtMn" :local Unix (((((($totd * 24) + $H) * 60) + $m) * 60) + $s - $vgmt) # :return "$yyyy-$MM-$dd\54$HH:$mm:$ss$Z $Www $Leap $Unix" :return $Unix } :global unixtodatetime do={ :local ux [:tonum $1] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local prMntDays [:toarray "0,0,31,59,90,120,151,181,212,243,273,304,334"] :local vgmt [:tonum [/system clock get gmt-offset]]; :if ($vgmt > 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)} :if ($vgmt < 0) do={:set vgmt ($vgmt * -1)} :local tzepoch ($ux + $vgmt) :if ($tzepoch < 0) do={:set tzepoch 0} ; # unsupported negative unix epoch :local yearStart (1970 + ($tzepoch / 31536000)) :local tmpbissex (($yearStart - 1968) / 4) ; :if ((($yearStart - 1968) % 4) = 0) do={:set ($prMntDays->1) -1 ; :set ($prMntDays->2) 30} :local tmpsec ($tzepoch % 31536000) :local tmpdays (($tmpsec / 86400) - $tmpbissex) :if (($tmpsec < (86400 * $tmpbissex)) and ((($yearStart - 1968) % 4) = 0)) do={ :set tmpbissex ($tmpbissex - 1) ; :set ($prMntDays->1) 0 ; :set ($prMntDays->2) 31 ; :set tmpdays ($tmpdays + 1) } :if ($tmpsec < (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1) ; :set tmpdays ($tmpdays + 365)} :local mnthStart 12 ; :while (($prMntDays->$mnthStart) > $tmpdays) do={:set mnthStart ($mnthStart - 1)} :local dayStart [$Fzerofill (($tmpdays + 1) - ($prMntDays->$mnthStart))] :local timeStart (00:00:00 + [:totime ($tmpsec % 86400)]) :return "$yearStart/$[$Fzerofill $mnthStart]/$[$Fzerofill $dayStart] $timeStart" } :global timetoseconds do={ :local inTime $1 :local wPos [:find $inTime "w" -1] :local dPos [:find $inTime "d" -1] :local itLen [:find $inTime "." -1] ; :if ([:typeof $itLen] = "nil") do={:set itLen [:len $inTime]} :local itSec [:pick $inTime ($itLen - 2) $itLen] :local itMin [:pick $inTime ($itLen - 5) ($itLen - 3)] :local itHou [:pick $inTime ($itLen - 8) ($itLen - 6)] :local itDay 0 :local itWee 0 :if (([:typeof $wPos] = "nil") and ([:typeof $dPos] = "num")) do={:set itDay [:pick $inTime 0 $dPos] } :if (([:typeof $wPos] = "num") and ([:typeof $dPos] = "num")) do={:set itDay [:pick $inTime ($wPos + 1) $dPos] } :if ([:typeof $wPos] = "num") do={:set itWee [:pick $inTime 0 $wPos] } :local totitSec ($itSec + (60 * $itMin) + (3600 * $itHou) + (86400 * $itDay) + (604800 * $itWee)) :return $totitSec } :put "RouterBOARD is started $[$unixtodatetime ([$currdatetimestr] - [$timetoseconds [/system resource get uptime]])]"
最后编辑:rextended2023年5月11日(星期四)凌晨3:03,共编辑30次。
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二上午4:10

感谢你的朋友reextended的帮助,很抱歉给你添麻烦,日期不是YY-MM-DD格式,你可以改成DD-MM-YY。



ios版雷竞技官网入口RouterBOARD的启动状态为2022-05-02 12:36:45
ios版雷竞技官网入口RouterBOARD启动时间为02-05-2022 12:36:45。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二上午10:43

您已经为您制作了所有其他脚本,将其他脚本应用到末尾的$datetimeStart。

是时候自己学习和尝试了……: lol:
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午2:52

REX朋友不要对我自私,告诉我怎样才能改变。
我现在不打扰你了。



2022-05-02

02-05-2022



EL DONCITO
最后编辑:eldoncito20192022年5月3日(星期二)下午3时,共编辑1次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3点

自私吗?我为你写了那么多剧本?什么忘恩负义……
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:02

请帮助我,REX朋友

这是我最后一个问题。





EL DONCITO。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:02

当你要求一些新鲜有趣的东西时,你从不打扰我……

好的,等几分钟……卷:
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间(解决)

2022年5月3日星期二下午3:14

为你……

特别委内瑞拉版El Doncito:
代码:选择所有
:global currendatetimestr do={/系统时钟:本地vdate [get date]:本地vtime [get time]:本地VGMT [:tonum [get gmt-offset]];:如果($ vgmt > 0 x7fffffff) ={:设置vgmt ($ vgmt - 0 x100000000)}:当地prMntDays [: toarray”59岁,0,0,31日90120151181212243273304334”):当地LcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地PcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地UcaseMnts [: toarray“0,1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月”):当地LcaseWeekDays [: toarray”星期四、星期五坐,太阳,星期一,星期二,星期三”):当地PcaseWeekDays [: toarray”星期四、星期五坐,太阳,星期一,星期二,星期三”):local UcaseWeekDays [:toarray "THU,FRI,SAT,SUN,MON,TUE,WED"] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local gmtSg "+"; :if ($vgmt < 0) do={:set gmtSg "-"; :set vgmt ($vgmt * -1)} :local gmtHr [:pick [:totime $vgmt] 0 2] :local gmtMn [:pick [:totime $vgmt] 3 5] :local vdoff [:toarray "0,4,5,7,8,10"] :local MM [:pick $vdate ($vdoff->2) ($vdoff->3)] :local M [:tonum $MM] :if ($vdate ~ ".../../....") do={ :set vdoff [:toarray "7,11,1,3,4,6"] :set M ([:find "xxanebarprayunulugepctovecANEBARPRAYUNULUGEPCTOVEC" [:pick $vdate ($vdoff->2) ($vdoff->3)] -1] / 2) :if ($M>12) do={:set M ($M - 12)} :set MM [:pick (100 + $M) 1 3] } :local yyyy [:pick $vdate ($vdoff->0) ($vdoff->1)] :local Leap "No-Leap" ; :if ((($yyyy - 1968) % 4) = 0) do={:set Leap "Leap"; :set ($prMntDays->1) -1; :set ($prMntDays->2) 30} :local mmm ($LcaseMnts->$M) :local Mmm ($PcaseMnts->$M) :local MMM ($UcaseMnts->$M) :local dd [:pick $vdate ($vdoff->4) ($vdoff->5)] :local d [:tonum $dd] ; :local totd ((($yyyy - 1970) * 365) + (($yyyy - 1968) / 4) + ($prMntDays->$M) + ($d - 1)) :local www ($LcaseWeekDays->($totd % 7)) :local Www ($PcaseWeekDays->($totd % 7)) :local WWW ($UcaseWeekDays->($totd % 7)) :local HH [:pick $vtime 0 2] :local H [:tonum $HH] :local hh ([:tonum $HH] % 12); :if ($hh = 0) do={:set hh 12}; :set hh [$Fzerofill $hh] :local h [:tonum $hh] :local a "A"; :if ([:tonum $HH] > 11) do={:set a "P"} :local aa "$a\4D" :local mm [:pick $vtime 3 5] :local m [:tonum $mm] :local ss [:pick $vtime 6 8] :local s [:tonum $ss] :local Z "$gmtSg$gmtHr:$gmtMn" :local Unix (((((($totd * 24) + $H) * 60) + $m) * 60) + $s - $vgmt) # :return "$yyyy-$MM-$dd\54$HH:$mm:$ss$Z $Www $Leap $Unix" :return $Unix } :global unixtodatetime do={ :local ux [:tonum $1] :local Fzerofill do={:return [:pick (100 + $1) 1 3]} :local prMntDays [:toarray "0,0,31,59,90,120,151,181,212,243,273,304,334"] :local vgmt [:tonum [/system clock get gmt-offset]]; :if ($vgmt > 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)} :if ($vgmt < 0) do={:set vgmt ($vgmt * -1)} :local tzepoch ($ux + $vgmt) :if ($tzepoch < 0) do={:set tzepoch 0} ; # unsupported negative unix epoch :local yearStart (1970 + ($tzepoch / 31536000)) :local tmpbissex (($yearStart - 1968) / 4) ; :if ((($yearStart - 1968) % 4) = 0) do={:set ($prMntDays->1) -1 ; :set ($prMntDays->2) 30} :local tmpsec ($tzepoch % 31536000) :local tmpdays (($tmpsec / 86400) - $tmpbissex) :if (($tmpsec < (86400 * $tmpbissex)) and ((($yearStart - 1968) % 4) = 0)) do={ :set tmpbissex ($tmpbissex - 1) ; :set ($prMntDays->1) 0 ; :set ($prMntDays->2) 31 ; :set tmpdays ($tmpdays + 1) } :if ($tmpsec < (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1) ; :set tmpdays ($tmpdays + 365)} :local mnthStart 12 ; :while (($prMntDays->$mnthStart) > $tmpdays) do={:set mnthStart ($mnthStart - 1)} :local dayStart [$Fzerofill (($tmpdays + 1) - ($prMntDays->$mnthStart))] :local timeStart (00:00:00 + [:totime ($tmpsec % 86400)]) # :return "$yearStart/$[$Fzerofill $mnthStart]/$[$Fzerofill $dayStart] $timeStart" :return "$[$Fzerofill $dayStart]/$[$Fzerofill $mnthStart]/$yearStart $timeStart" } :global timetoseconds do={ :local inTime $1 :local wPos [:find $inTime "w" -1] :local dPos [:find $inTime "d" -1] :local itLen [:find $inTime "." -1] ; :if ([:typeof $itLen] = "nil") do={:set itLen [:len $inTime]} :local itSec [:pick $inTime ($itLen - 2) $itLen] :local itMin [:pick $inTime ($itLen - 5) ($itLen - 3)] :local itHou [:pick $inTime ($itLen - 8) ($itLen - 6)] :local itDay 0 :local itWee 0 :if (([:typeof $wPos] = "nil") and ([:typeof $dPos] = "num")) do={:set itDay [:pick $inTime 0 $dPos] } :if (([:typeof $wPos] = "num") and ([:typeof $dPos] = "num")) do={:set itDay [:pick $inTime ($wPos + 1) $dPos] } :if ([:typeof $wPos] = "num") do={:set itWee [:pick $inTime 0 $wPos] } :local totitSec ($itSec + (60 * $itMin) + (3600 * $itHou) + (86400 * $itDay) + (604800 * $itWee)) :return $totitSec } :put "RouterBOARD is started $[$unixtodatetime ([$currdatetimestr] - [$timetoseconds [/system resource get uptime]])]"

“国际ISO版本”如下:
viewtopic.php吗?p = 930833 # p930465
最后编辑:rextended2023年5月11日(星期四)凌晨3:04,共编辑21次。
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:14

非常感谢你的朋友REX,就像我们在我的国家所说的,谢谢你我的“PANA”。







EL DONCITO。
最后编辑:eldoncito20192022年5月3日(星期二)下午3:18,共编辑1次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:16

仔细看看:期待你的到来,我已经做到了。即使有委内瑞拉的几个月……: lol:
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:26

我的"帕娜"雷克斯。





EL DONCITO。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月3日星期二下午3:32

谢谢
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三凌晨3:28

REX朋友,为什么当我在控制台中执行脚本时出现这种情况?

失败:连接超时
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三上午4:03

尝试打开用于该服务的页面:
https://helloacm.com/

不是我的,如果不干活,你一定要等它回来。
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三下午1:38

好的,告诉我最后一件事,我应该把脚本设置为在ROUTERBOARD启动时启动吗?ios版雷竞技官网入口







EL DONCITO。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三下午1:49

是的,但是先推迟到不能上网的时候
代码:选择所有
120年代:延迟
eldoncito2019
成员
成员
主题作者
职位: 312
加入: 2019年6月14日星期五下午1:07

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三晚上8:02

尝试打开用于该服务的页面:
https://helloacm.com/

不是我的,如果不干活,你一定要等它回来。


没有其他页面了吗?,or another way that is not with a page.
例如:http://worldclockapi.com/api/json/vst/now\ "




EL DONCITO。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2022年5月4日星期三晚9:33

问题不是第一次调用,是第二个,我找不到任何东西来转换在线特定的epoch到日期....
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月12日星期四晚上11:34

你好,

似乎“uptime”脚本的外部访问又失败了,自从我得到正确的时间(我的时区是西班牙)已经有几天了。

我重新启动了它来安装新的7.7,它显示我在2023年1月13日05:24 am重新启动了它。
害怕吗?

BR。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:03

在“自己动手”系列文章中,我修改了Snippets中已有的unix时间生成器。
到目前为止,我还没有编写一个函数来转换回unix epoch到日期和时间,但将来我会编写一个反向函数。
同时,我希望在网上找到一些unix->datetime。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:10

似乎“uptime”脚本的外部访问又失败了,自从我得到正确的时间(我的时区是西班牙)已经有几天了。
脚本更新如下:

viewtopic.php吗?p = 930465 # p930465
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:17

好的,谢谢。

BR。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:24

好的,谢谢。

BR。
我重复一遍:
到目前为止,我还没有编写一个函数来转换回unix epoch到日期和时间,但将来我会编写一个反向函数。
直到我完成该函数或我找到另一个URL,该函数提供正确的unix epoch的路由器板的开始时间,但不是正确的日期和时间。ios版雷竞技官网入口
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:36

行动!它不起作用……:(

我的正常运行时间是02:08:00
我的时间大约是00:34 - 2023年1月13日

脚本输出:

ios版雷竞技官网入口RouterBOARD在很早的时候启动了1673558651 (2023-01-13 04:24:11)

BR。
最后编辑:diamuxin2023年1月13日(星期五)凌晨1:41,共编辑1次。
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:39

我重复一遍:
到目前为止,我还没有编写一个函数来转换回unix epoch到日期和时间,但将来我会编写一个反向函数。
直到我完成该函数或我找到另一个URL,该函数提供正确的unix epoch的路由器板的开始时间,但不是正确的日期和时间。ios版雷竞技官网入口
没什么,我们得等等,谢谢。

BR。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨1:48

嗯……
最后编辑:rextended2023年1月13日(星期五)凌晨2:06,共编辑1次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨2:05

嗯……
最后编辑:rextended2023年1月13日星期五凌晨2:38,共编辑1次。
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨2:24

用你的正常运行时间试试,这是最好的测试。

意大利和西班牙有相同的时区。

BR。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨2:37

路由器配置了哪个时区??ios版雷竞技官网入口
1673558651是
格林威治时间2023年1月12日21:24:11
和2023年1月12日22:24:11在GMT+01:00
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨2:41

嗯……
最后编辑:rextended2023年1月13日(星期五)凌晨3:22,共编辑1次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨3:19

逻辑是正确的,我修复了脚本,现在工作(如果在routerboard上的时间是同步的)不使用外部站点。ios版雷竞技官网入口

viewtopic.php吗?p = 977167 # p930465
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五凌晨3:39

将Unix Epoch转换为datetime
代码:选择所有
:global unixtodatetime do={: local ux [:tonum $1]:local Fzerofill do={:return [:pick (100 + $1) 1 3]}:local prMntDays [:toarray "0,0,31,59,90,120,151,181,212,243,273,304,334"]:local vgmt [:tonum [/system clock get gmt-offset]];:if ($vgmt > 0x7FFFFFFF) do={:set vgmt ($vgmt - 0x100000000)}:if ($vgmt < 0) do={:set vgmt ($vgmt * -1)}:local tzpoch ($ux + $vgmt):if ($ tzpoch < 0) do={:set tzpoch 0};# unsupported negative unix epoch:local yearStart (1970 + ($ zepoch / 31536000)):local tmpbissex (($yearStart - 1968) / 4);:如果(((yearStart美元- 1968)% 4)= 0)做={:设置(prMntDays - > 1美元)1;:set ($prMntDays->2) 30}:local tmpsec ($tzepoch % 31536000):local tmpdays (($tmpsec / 86400) - $tmpbissex):if (($tmpsec < (86400 * $tmpbissex)) and ((($yearStart - 1968) % 4) = 0)) do={:set tmpbissex ($tmpbissex - 1);:set ($prMntDays->1) 0;:set ($prMntDays->2) 31;:set tmpdays ($tmpdays + 1)}:if ($tmpsec < (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1);:set tmpdays ($tmpdays + 365)}:local mnthStart 12;:while (($prMntDays->$mnthStart) >$ tmpdays) do={:set mnthStart ($mnthStart - 1)}:local dayStart [$Fzerofill (($tmpdays + 1) - ($prMntDays->$mnthStart))]:local timeStart (00:00:00 + [:totime ($tmpsec % 86400)]):return "$yearStart/$[$Fzerofill $mnthStart]/$[$Fzerofill $dayStart] $timeStart"}
最后编辑:rextended2023年5月11日(星期四)凌晨3:06,共编辑6次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年1月13日(星期五)上午4:10

搜索标签# reextended将时间格式(如45w10d14:32:45.37513571)转换为秒
代码:选择所有
:global timetoseconds do={:local inTime $1:local wPos [:find $inTime "w" -1]:local dPos [:find $inTime "d" -1]:local itLen [:find $inTime "."1);:如果([:typeof itLen美元]= nil)做={:设置itLen [: len亲密的美元]}:当地安全评估[:选择泰(itLen - 2美元)itLen美元):当地itMin[:选择亲密的美元($ itLen - 5) (itLen - 3)):当地itHou[:选择泰(itLen - 8美元)美元($ itLen - 6)]:当地itDay 0:当地itWee 0:如果(([:typeof wpo美元]= nil)和([:typeof dPos美元]=“num”))做={:设置itDay[:选择亲密的0 dPos美元]}:如果(([:typeof wpo美元]=“num”)和([:typeof dPos美元]=“num”))做={:设置itDay[:选择泰(wpo + 1美元)dPos美元]}:如果([:typeof wpo美元]=“num”)do={:set itWee [:pick $inTime 0 $wPos]}:local totitSec ($itSec + (60 * $itMin) + (3600 * $itHou) + (86400 * $itDay) + (604800 * $itWee))):return $totitSec}

例如,要获取v7上的Unix Epoch Time:
代码:选择所有
:put [$timetoseconds [:timestamp]]

例如,将v7 [: timestamp]转换为日期时间,也使用先前的post $unixtodatetime函数:
代码:选择所有
:put [$unixtodatetime [$timetoseconds [:timestamp]]]
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年1月13日星期五下午12:52

逻辑是正确的,我修复了脚本,现在工作(如果在routerboard上的时间是同步的)不使用外部站点。ios版雷竞技官网入口

viewtopic.php吗?p = 977167 # p930465
完美的雷克斯!

谢谢你的工作!

问候。
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年2月9日星期四晚上8:03

再见rextended,

今天我带来了一个新的挑战,我想转换我想控制的远程设备的正常运行时间图,该值以秒为单位的细节(我认为):
<时间> 546837 > < /运行时间
(这个数值我已经提取并分配给一个局部变量)

我设计了一个简单的功能,让我摆脱困境:

代码:选择所有
#使用[$sec2mdhms 59043245]输出:24mo.11d.8h.54m。增加了获取当前月份天数的代码片段,扩展为:global sec2mdhms do={#当前月份的天数:local mm [:pick [/system clock get date] 0 3];:本地yyyy[:选择[/系统时钟得到日期]7 11]:当地arrDaysOnMonths{1 =“31”;2月=“28”;3 =“31”;4月= " 30 ";5 =“31”;6月= " 30 ";7 =“31”;8月=“31”;9月= " 30 ";10月=“31”;11月= " 30 ";12月=“31”}:如果(((yyyy - 1972美元)% 4)= 0)做={:设置(arrDaysOnMonths美元- > 2月)29}:当地dd [: tonum (arrDaysOnMonths - >毫米)美元]:当地totalSeconds [: tonum $ 1]:当地莫(totalSeconds / 60美元/ 60美元/ 24 / dd):当地D (totalSeconds / 60美元/ 60/24 % $ dd):本地H (totalSeconds / 60/60 % 24美元):当地米(60 $ totalSeconds / 60%):本地(totalSeconds % 60美元):如果($莫> 0)={:返回(“$莫”“莫”。”。”。“D”美元。“D”。”。”。“H”美元。“H”。”。”。“M”美元。“M”。”。”。“$ S”。“S”)}:如果($ D > 0) ={:返回(“$ D”“D”。”。”。“H”美元。“H”。”。”。“M”美元。“M”。”。”。“$ S”。“S”)}:如果(H > 0美元)={:返回(“H”美元“H”。”。”。“M”美元。“M”。”。”。“$ S”。“S”)}:如果(M > 0美元)={:返回(“$ M”“M”。”。”。“$ S”。“S”)}:如果(S > 0美元)={:返回(“S”美元。“S”)}}

是否可以改进月份的天数部分,以便根据每个月的天数进行更好的计算?现在它计算一个月30天的秒数。

编辑:我在这个论坛上发现,你在另一个场合发布的代码片段,它是有效的,因为它考虑到闰年:
代码:选择所有
当前月份的天数,通过扩展:本地mm [:pick [/system clock get date] 0 3];:本地yyyy[:选择[/系统时钟得到日期]7 11]:当地arrDaysOnMonths{1 =“31”;2月=“28”;3 =“31”;4月= " 30 ";5 =“31”;6月= " 30 ";7 =“31”;8月=“31”;9月= " 30 ";10月=“31”;11月= " 30 ";12月=“31”}:如果(((yyyy - 1972美元)% 4)= 0)做={:设置(arrDaysOnMonths美元- > 2月)29}:当地dd [: tonum (arrDaysOnMonths - >毫米)美元]

谢谢。

..
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年2月10日星期五下午12:54

我没有看到任何与时区相关的考虑

警告:我的帖子上的计算是不准确的,只是用于示例。

再见rextended,

今天我带来了一个新的挑战,我想转换我想控制的远程设备的正常运行时间图,该值以秒为单位的细节(我认为):
<时间> 546837 > < /运行时间
(这个数值我已经提取并分配给一个局部变量)

让我理解一下,因为我不明白你为什么要涉及闰年和当月日:
正常运行时间与当前时间无关,除非你想计算启动日期,
这不是“24点11分8小时54分”。而是一个精确的日期,比如2020/08/01 16:45:55(没有计算,只是举个例子)

你想把59043245秒转换成24mo.11d.8h.54m。5s时间格式?
只是:put [:totime 59043245]你得到97w4 d08:54:0597w + 4d = 683d =
22个月(30天)和23天,怎么可能比24个月和11天呢?

24 mo.11d.8h.54m。5秒(假设30天/月)= 63190445秒…48天的差额

正常运行时间是一个绝对值,必须不考虑闰年或时区,
是CPU启动的秒数,与任何其他传统的日期和时间表示方式无关。
无论是秒还是像97w4d08:54:05这样的文本。
也是为什么写的是97w4d08:54:05而不喜欢1 y10m[w4d08 . 54:05]因为月份和年份并不是单一的。

如果出于某种原因你喜欢5 y闰年是相对于正常运行时间的,只有第4个年份是双纺的,与当前年份无关。
如果出于某种原因你喜欢70[08:54:0]闰年仍然相对于正常运行时间,
你必须每隔96个月加一天,加上2个月的偏移,((month - 2) / 96),无论当年是哪一年。

一个5年的正常运行时间= 1825天,不能更多,因为如果必须计算闰年,可以是1826天或…1827年! !
如果闰年是2日、3日或4日,必须只加一天,如果是1日,显然也是5日,则必须加2天……
如果假设年份是7年,准确地说是2097年、2098年、2099年、2100年、2101年、2102年、2103年,那么就不存在闰年了……

我不明白你的计算,你想得到像2年,0个月,11天,8小时54分钟5秒,然后减去实际日期,你得到启动日期?
如果你有24小时8分8小时22分。5s(2年,0mo.8d.8h.22m.5),你考虑今天2023/02/10 11:31:14日期(我的时区),你得到:
2023 - 2y = 2021
02 (feb) - 0 = 2
10 - 8 = 2
11 - 8 = 3
31 - 22 = 9
14 - 5 = 9

24 mo.8d.8h.22m。5秒(2年,0mo.8d.8h.22m.5s) - 2023/02/10 11:31:14 =设备启动@ 2021/02/02 03:09:09

???
请帮助我理解,关于你想要得到什么,我一点也不明白……



也许这是给你的:
代码:选择所有
{:local read "546837":put [:totime [:pick $read ([:find $read ">" -1] + 1) [:find $read "

结果代码

6 d07:53:57
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年2月10日星期五下午1:42

是的,我想正如我在上一篇文章中所说的那样,从以秒为单位的正常运行时间开始,按值XXXXXXXXX sg,将其转换为易于理解的值,如果它是Mo+Days+Hours+Minutes+ seconds格式或YYYY-MM-DD hh.mm.ss都没关系。我不知道我是否解释清楚了。

我明白解释,澄清了。
正常运行时间是一个绝对值,必须不考虑闰年或时区,
是CPU启动的秒数,与任何其他传统的日期和时间表示方式无关。
无论是秒还是像97w4d08:54:05这样的文本。
这也是为什么写97w4d08:54:05而不像1y10m3w4d08:54:05,因为月份和年份不是单一的。

编辑:行动!我不知道totime函数。简单多了,谢谢。


..
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年2月10日星期五下午2:33

更好的是,采用您为microtik正常运行时间创建的功能,它也可以为我工作,并且相当准确。雷竞技网站

viewtopic.php吗?p = 977167 # p930465

现在看起来好多了:
代码:选择所有
{:global tokenParser:global unixtodatetime:global currdatetimestr:local xmlData ([toarray [/tool fetch mode=https url="http://192.168.8.1/api/device/information" as-value output=user]] ->"data"):local smsUptime [($tokenParser->"getTag") source=$xmlData tag="uptime"];# uptime value例如:618694:put [$unixtodatetime ([$currdatetimestr] - $smsUptime)]} Result: 03/02/2023 09:40:27(日期格式我已经修改为我的内部使用)
BR。
最后编辑:diamuxin2023年2月10日星期五下午2:53,共编辑1次。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年2月10日星期五下午2:43

结果:03/02/2023 09:40:27
(日期格式我已经修改,供我内部使用)
不是我的选择,而是逻辑的选择,以逻辑的方式表示日期和时间:左边是更高的值,就像数字一样。
(假设3是天,2是月)
“ISO”日期2023-02-03(或不带“-”的20230203)可直接排序,
任何其他格式(无论分隔符是"/",".","-"或其他,而不是…: lol:
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年2月28日星期二凌晨2:52

搜索标签#延长在线正常运行时间开始日期时间

只有在RouterBOARD时间同步的情况下才ios版雷竞技官网入口能正常工作。
嗨@rextended !

有了这个“近似”的数据,我认为你的脚本有一个小的不匹配,因为在结果中有一些奇怪的东西:

正常运行时间:00:25:39
本地日期:2023年2月28日01:39:10
代码:选择所有
:put [$unixtodatetime ([$currdatetimestr] - [$timetoseconds[/系统资源获取正常运行时间]])]
电流输出:00/03/ 2023 01:13:39

日期应为:28/02/ 2023 01:13:39

你能检查一下吗?谢谢。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年2月28日星期二凌晨3:26

好的,我发现了两个bug,修复了。
更新之前的脚本。

出于好奇,他补充道:

x代码

:if ($tmpsec < (86400 * $tmpbissex)) do={:set yearStart ($yearStart - 1):set tmpdays ($tmpdays + 365)}
计算年数时,若未经过已过的六分之一日数,仍为上一年度…
直到我不计算总年数,我才知道过去了多少年: lol:..

并添加= after >

x代码

:local mnthStart 12;:while (($prMntDays->$mnthStart) >= tmpdays) do={:set mnthStart ($mnthStart - 1)}
因为不存在月日“0”,所以必须上上个月。

我希望没有出现其他错误。
用户头像
diamuxin
成员的候选人
成员的候选人
职位: 211
加入: 2021年9月9日星期四下午5:46

回复:将正常运行时间转换为日期和时间

2023年2月28日星期二上午11:44

好的,我发现了两个bug,修复了。
更新之前的脚本。
脚本工作良好,现在,谢谢!

BR。
用户头像
rextended
论坛专家
论坛专家
职位: 10988
加入: 2014年2月25日星期二下午12:49
地点:靠近猫……
联系人:

回复:将正常运行时间转换为日期和时间

2023年2月28日星期二下午12:54

脚本工作良好,现在,谢谢!
多亏了你。

如果你在我的任何脚本中发现错误,请通知我。
谢谢。

谁在线?

浏览本论坛的用户:DyadyaGenyaerlinden10位客人

Baidu
map