Php 有没有更快/更好的方法来打发时间?

Php 有没有更快/更好的方法来打发时间?,php,time,Php,Time,我找到了via,它很新奇,足以让我想和你们分享它。令我沮丧的是,这个版本不能在几秒钟内完成。似乎还有更有效的方法来创造时间,你认为呢 利特时间 现在,这个时间是如何计算的? 对于给定的时间(例如上午11:15) leettime对应于数字 你总共需要13个小时 37分钟,以便准确到达 这一次。无论结果如何 计算期间溢出(即。 获取的时间超过23:59 点)你减去24小时 为了准时上班 示例: 00:00的时间是0, 13:37的时间是1和 leettime 2对应于凌晨3:14 (因为13:37

我找到了via,它很新奇,足以让我想和你们分享它。令我沮丧的是,这个版本不能在几秒钟内完成。似乎还有更有效的方法来创造时间,你认为呢

利特时间 现在,这个时间是如何计算的?

对于给定的时间(例如上午11:15) leettime对应于数字 你总共需要13个小时 37分钟,以便准确到达 这一次。无论结果如何 计算期间溢出(即。 获取的时间超过23:59 点)你减去24小时 为了准时上班

示例:

00:00的时间是0, 13:37的时间是1和 leettime 2对应于凌晨3:14 (因为13:37加上13小时37 分钟是03:14)

每个人都有一个独特的时间吗 白天的人工时间?

对!!那里 完全是24*60=1440不同吗 leettimes,每个都与 一天一分钟

再加上任何你认为很酷的东西,我相信这家伙会喜欢的

我把PHP版本设计成最容易访问和移植的版本


要更快地从HH:MM转换为Leet,请尝试模块运算:

首先,将13:37转换为mod1440的数字;具体来说,13*60+37=817

求817 mod 1440的倒数。结果是913()。913的属性为913*817==1 mod 1440

或者,如果你想用13分37秒;您将使用mod 86400,817^-1==67153

将您的目标时间转换为mod 1440的数字;然后乘以913 mod 1440得到相应的leet时间。要转换回去,请乘以817

例如:

Going from leet time to normal time (accuracy to the minute):
someLeetTime = 1337
//where 817 = 13*60 + 37 = 13:37 in minutes
timeInMinutes = someLeetTime * 817 mod 1440 = 809
hours = timeInMinutes / 60 = 13
minutes = timeInMinutes % 60 = 29

Going from normal time to leet time (accuracy to the minute):
hours = 13
minutes = 29
timeInMinutes = hours * 60 + minutes = 809
//913 = 817^-1 mod 1440
someLeetTime = timeInMinutes * 913 mod 1440 = 1337 
13:29 is 1337 leet time  
一个可能的实现是秒,其中13:37被视为13分37秒。(技术上违反了标准,但我们是l33t,可以做到这一点)

谢谢你的加密和模运算


为了推进这一伟大事业,我建造了一个时钟

关于秒的部分,你可以用13分37秒来破解它,而不是13小时37分钟。我想改为将输入时间设为08:51:2943,分为4位秒,然后再次分别进行相同的转换,并将时间显示为大:小。完全不是,但。。。什么是空闲时间?它有什么用?它为什么存在?我只是好奇;)@丹尼尔:我相信这就像是斯沃琪时间,没那么有用,但更多的是“l33t”。@DaNieL:因为我们可以。像这样的帖子正是我在这里提问时所希望的。我官方非常尊重这个网站,因为它代表了互联网是多么的棒。/实际上,它是一个非常有趣的少量添加、乘法和mod。像这样的时候,我可以肯定地感觉到我缺乏数学经验(只是在高中以前的代数课上从来没有关心过)让我有点退缩,但我似乎在学习的过程中做得很好。我坚持要最大限度地利用我的恩赐。我最感兴趣的是一个秒到四位/转换为leet的实现。我不知道自己该怎么做。我承认我在编程方面最大的弱点是做这样的事情,当我不确定如何获得一个(通常很重要的)值并用它做我想做的事情时。我们足够有64秒的时间吗?令人惊叹的。。。(添加了一个带有几个示例时钟的链接……不过可能有一种更神奇的方式将它们组合在一起)。
Going from leet time to normal time (accuracy to the minute):
someLeetTime = 1337
//where 817 = 13*60 + 37 = 13:37 in minutes
timeInMinutes = someLeetTime * 817 mod 1440 = 809
hours = timeInMinutes / 60 = 13
minutes = timeInMinutes % 60 = 29

Going from normal time to leet time (accuracy to the minute):
hours = 13
minutes = 29
timeInMinutes = hours * 60 + minutes = 809
//913 = 817^-1 mod 1440
someLeetTime = timeInMinutes * 913 mod 1440 = 1337 
13:29 is 1337 leet time  
Going from leet time to normal time (accuracy to the second):
someLeetTime = 1337
//where 817 = 13*60 + 37 = 13:37 in seconds
timeInSeconds = someLeetTime * 817 mod 86400 = 55529
hours = timeInSeconds / 3600 = 15
minutes = (timeInSeconds % 3600) / 60 = 25
seconds = timeInSeconds % 60 = 29

1337 in the new system is 15:25:29

Going from normal time to leet time (accuracy to the second):
hours = 15
minutes = 25
seconds = 29
timeInSeconds = hours * 3600 + minutes*60 + seconds = 55529
//67153 = 817^-1 mod 86400
someLeetTime = timeInSeconds * 67153 mod 86400 = 1337 
15:25:29 is 1337 leet time