Time 这是什么时间系统?

Time 这是什么时间系统?,time,Time,我想了解一些程序,在我还不知道的某个系统中处理时间。希望你能告诉我什么是系统,如果有的话 其中一个数字值为170000000,代表2037年4月26日。另一个例子是164632577,代表2022年12月20日 我用历元转换器测试了两者,但我得到了完全不同的日期,所以不能确定它是历元。你有什么线索吗 谢谢。我们假设从日期转换为这些奇怪时间单位的公式如下: f(x) = m*x + b 其中x以奇怪的时间单位表示,f以天表示: f(2037*365.2425+31+28+31+26)=17000

我想了解一些程序,在我还不知道的某个系统中处理时间。希望你能告诉我什么是系统,如果有的话

其中一个数字值为170000000,代表2037年4月26日。另一个例子是164632577,代表2022年12月20日

我用历元转换器测试了两者,但我得到了完全不同的日期,所以不能确定它是历元。你有什么线索吗


谢谢。

我们假设从日期转换为这些奇怪时间单位的公式如下:

f(x) = m*x + b
其中x以奇怪的时间单位表示,f以天表示:

f(2037*365.2425+31+28+31+26)=170000000
f(2022*365.2425+365.2425-(31+1-20)=164632577

因为我们有两个数据点,所以我们可以建立两个公式:
I:f1=m*x1+b
II:f2=m*x2+b

现在我们要找的是:m,b

我们解决如下问题:

I=>III:
b=f1-m*x1

三分为二:
f2=m*x2+f1-m*x1=>f2-f1=m(x2-x1)=>m=(f2-f1)/(x2-x1)

具体到:

m = 1024.04 units/day and (exactly 1024, most likely, because that’s 2^10)
b=f1-m*x1时

b = -591973731.84 (??)
所以你得到:

从第一年起的天数转换为奇怪的时间单位:

f(x) = 1024 * x - 591973731.84  
其中x以天为单位,因此年份*365.2524+(月-1)*30+天

测试表明
f(2038年1月1日=2038*365.2425)=1024*2038*365.2425-591973731.84=170255224.3
,这比2037年12月20日稍微多一点,所以它可以工作


奇怪的是,这些奇怪时间单位的0点代表了1582年左右的年份(x of
f(x)=0
)。

我们假设从日期转换为这些奇怪时间单位的公式为以下形式:

f(x) = m*x + b
其中x以奇怪的时间单位表示,f以天表示:

f(2037*365.2425+31+28+31+26)=170000000
f(2022*365.2425+365.2425-(31+1-20)=164632577

因为我们有两个数据点,所以我们可以建立两个公式:
I:f1=m*x1+b
II:f2=m*x2+b

现在我们要找的是:m,b

我们解决如下问题:

I=>III:
b=f1-m*x1

三分为二:
f2=m*x2+f1-m*x1=>f2-f1=m(x2-x1)=>m=(f2-f1)/(x2-x1)

具体到:

m = 1024.04 units/day and (exactly 1024, most likely, because that’s 2^10)
b=f1-m*x1时

b = -591973731.84 (??)
所以你得到:

从第一年起的天数转换为奇怪的时间单位:

f(x) = 1024 * x - 591973731.84  
其中x以天为单位,因此年份*365.2524+(月-1)*30+天

测试表明
f(2038年1月1日=2038*365.2425)=1024*2038*365.2425-591973731.84=170255224.3
,这比2037年12月20日稍微多一点,所以它可以工作


奇怪的是,这些奇怪的时间单位中的0点代表了1582年左右的时间(x of
f(x)=0
)。

170000000似乎非常四舍五入。你知道你的数字所代表的游戏中的精确秒数吗

它应该是一个线性系统,您知道(170000000-164632577)=5367423的值等于您的天数(2037-04-26-2022-12-20)=5241天之间的差值

这意味着一天是(5241/5367423)=0.00097644623873

从164632577位倒数到零位让我们回到(164632577*0.00097644623873…)=160754.86天,从2022-12-20到1582-11-02

对170000000进行的相同计算将我们带回(170000000*0.00097644623873…=165995,86天,从2037-04-26到1582-11-02。Heuruka

因此,您有一个系统,其中
时间($value)=[1582-11-02]+[0.00097644623873…*$value天]

问题:

  • 这些数字有几个舍入问题。你的日期很可能包括秒,但我们计算的是整天
  • 我们正在时光倒流,将出现与时间旅行相关的问题。这些问题包括但不限于根据您的日历不存在的日期
1582、10月15日或1582-10-15是格里高利日历的开始。这可能是你的数据的真正开始日期。


编辑:我以前写过乘数应该是0.001,但正如丹尼尔在另一个答案中指出的,它实际上是1/1024=0.0009765625。

170000000似乎非常四舍五入。你知道你的数字在游戏中代表的精确秒数吗

它应该是一个线性系统,您知道(170000000-164632577)=5367423的值等于您的天数(2037-04-26-2022-12-20)=5241天之间的差值

这意味着一天是(5241/5367423)=0.00097644623873

从164632577位倒数到零位让我们回到(164632577*0.00097644623873…)=160754.86天,从2022-12-20到1582-11-02

对170000000进行的相同计算将我们带回(170000000*0.00097644623873…=165995,86天,从2037-04-26到1582-11-02。Heuruka

因此,您有一个系统,其中
时间($value)=[1582-11-02]+[0.00097644623873…*$value天]

问题:

  • 这些数字有几个舍入问题。你的日期很可能包括秒,但我们计算的是整天
  • 我们正在时光倒流,将出现与时间旅行相关的问题。这些问题包括但不限于根据您的日历不存在的日期
1582、10月15日或1582-10-15是格里高利日历的开始。这可能是你的数据的真正开始日期。


编辑:我之前写过乘数应该是0.001,但正如Daniel在另一个答案中指出的那样,它实际上是1/1024=0.0009765625。

你可能想标记语言,也许还需要列出你用来获取这些值的函数。这是一个游戏,我真的不知道这是用什么语言写的。你不知道吗我不知道它是用什么语言写的,但你正在试图理解它?我认为识别程序使用的语言是第一步