Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 时间戳,如6.352748255083e+;17_C#_Php - Fatal编程技术网

C# 时间戳,如6.352748255083e+;17

C# 时间戳,如6.352748255083e+;17,c#,php,C#,Php,我通过WSDL从C#应用程序时间戳编号中获取 6.3527482515083E+17 6.3527482515047E+17 6.352748251638E+17 6.3527482514463E+17 都是过去的时代(可能是今年) 我想这是从零年算起的日期时间。我试着从零开始数秒,得到大约63537810544。但这并不准确,因为缺少闰年 PHP中存在任何函数如何获取UNIX时间戳???或者将其转换为字符串datetime??? 我通过WSDL获取值,因此无法在源代码上重新格式化…从0001

我通过WSDL从C#应用程序时间戳编号中获取

6.3527482515083E+17
6.3527482515047E+17
6.352748251638E+17
6.3527482514463E+17
都是过去的时代(可能是今年)

我想这是从零年算起的日期时间。我试着从零开始数秒,得到大约63537810544。但这并不准确,因为缺少闰年

PHP中存在任何函数如何获取UNIX时间戳???或者将其转换为字符串datetime???
我通过WSDL获取值,因此无法在源代码上重新格式化…

从0001年1月1日午夜12:00:00开始,它们以100纳秒(1/10000000秒)为单位。此信息可在本文档中找到

一个滴答声代表一百纳秒或一千万分之一秒。一毫秒内有10000个滴答声,或一秒钟内有1000万个滴答声。 此属性的值表示自0001年1月1日午夜12:00:00以来经过的100纳秒间隔数,表示DateTime.MinValue。它不包括可归因于闰秒的滴答数

表示0001年1月1日午夜12:00:00和1970年1月1日午夜12:00:00(Unix纪元时间)之间的100ns刻度数的魔常数是
6213559680000000
。所以,若你们从你们的数字中减去它,你们会得到自Unix时代开始以来的100ns的刻度。除以10000000,得到秒数。这在PHP中是可用的。下面演示的示例代码(
unixepoch
以秒为单位):


我发现上面列出的这个常数处理从其他格式获取unix纪元时间的问题。

1010和1017之间有很大的区别。我已经发现,
DateTime
值在内部使用Ticks,这是自公元0001年1月1日午夜12:00以来的100纳秒单位。我已经提供了一个答案和一些示例代码,可以让您继续。
<?php
$msdatetime = 6.3527482515083E+17;
$unixepoch = ($msdatetime - 621355968000000000)/10000000 ;
echo date("Y-m-d H:i:s", $unixepoch);
?>
2014-02-08 11:55:15