有一个本地方法从dll写在c中,它采用类型为time_t的参数。 对于这个参数可以使用C#uint或ulong吗?什么是c#time_t相当于c#
6
A
回答
6
取决于time_t
是如何在标准C头文件中定义的。
如果time_t
是64位,则C#等效项为long
。
如果time_t
是32位,那么它有2038年的错误,你应该问谁写了一个非bug的版本的DLL。
2
根据Wikipedia's article on Time_t你可以使用一个integer (Int32 or Int64)
Unix和POSIX兼容的系统实现time_t
作为表示自的秒数的整数或实浮动型(通常是32位或64位整数) Unix时代的开始:1970年1月1日午夜UTC(不包括闰秒)。
7
我不认为我应该说,他们是等价的,但你可以以这样的方式转换t_time
到DateTime
:
int t= 1070390676; // value of time_t in an ordinary integer
System.DateTime dt= new System.DateTime(1970,1,1).AddSeconds(t);
而这个例子是 How can I convert date-time data in time_t to C# DateTime class format?
我还应该说,UInt32
也用于t_ time
,checkcheck DateTime to time_t
0
Bastardo的解决方案没有帮助我。我正面临DST的一个问题,因此需要额外转换为当地时间,或由此产生的时间相差一个小时。这是我做的:
return new DateTime(1970, 1, 1).ToLocalTime().AddSeconds(time_t);
相关问题
- 1. 是什么My.Computer在C#相当于
- 2. 什么是C#相当于Java的getAndSet
- 3. 相当于perror的C++流是什么?
- 4. 什么是C++(流)相当于vsprintf?
- 5. 什么是C#DataBaseReader.Item相当于
- 6. 什么是C#列表<byte>的在C相当于
- 7. 与main()相当的Objective-C是什么?
- 8. C/C++相当于C#System.Net.Mail
- 9. 相当于C#
- 10. 什么是Objective-C相当于一个空的Swift OptionSet?
- 11. 什么是相当于通过地址在C#
- 12. 什么是VB.NET相当于C#的默认关键字?
- 13. 什么是C++在golang中的“使用”相当于
- 14. Mono C#相当于Java的-XX:OnOutOfMemoryError =“custom shell command”是什么?
- 15. 什么是C#相当于VB.Net “IsDBNull以便” 的
- 16. 什么是Java相当于微调的( '/')在C#中
- 17. 什么是C#相当于PHP序列化
- 18. 什么是JavaScript相当于C++的#定义?
- 19. 在C语言什么是FTEll()相当于德尔福
- 20. 什么是MATLAB的MathNet相当于解决C = A \ B
- 21. 什么是VB.NET相当于C#的'使用'块
- 22. 什么是C#相当于公共最后静态的Java中
- 23. 什么是C++相当于JavaFx和AnimationTimer类?
- 24. 什么是C#相当于对Java的LinkedList
- 25. 什么是C#泛型中的Java通配符相当于
- 26. 什么是C#相当于Excel中的LINEST?
- 27. 什么是wxWidgets的相当于一个C#用户控件的
- 28. 什么是转换为UNIX时间戳的C#DateTimeOffset相当于
- 29. 什么是vb.net相当于c#匿名代码块?
- 30. 什么是.Net(C#)Apose.Cell相当于Excel VBA范围 - > ClearContents?
最方便的方式 – 2014-12-03 19:45:57
不相关和不正确。 – jheriko 2015-01-14 18:08:23
@jheriko非常感谢您的评论。我已经说过,这不等同。然而,在这里看到这个答案与一些upvotes,我相信这个答案给了一些人的想法和帮助他们。你能告诉我什么是不正确的吗? – Bastardo 2015-01-19 08:07:24