繁体   English   中英

日期时间以毫秒为单位在C#中?

[英]Datetime to milliseconds in c#?

我正在尝试将示例Java代码转换为C#。 这是Java代码,我需要一些帮助来找出在c#中获取等效代码的正确方法。 这是我到目前为止尝试过的。

Java代码

TimeZone kenyaTimeZone = TimeZone.getTimeZone("Africa/Kenya");
Calendar calendar = Calendar.getInstance(kenyaTimeZone);
long timestamp = calendar.getTimeInMillis() / 1000; 

C#代码

TimeZoneInfo tzone = TimeZoneInfo.FindSystemTimeZoneById("Africa /Kenya");
DateTimeOffset dt = new DateTimeOffset(DateTime.UtcNow, tzone.BaseUtcOffset);

这就是我卡住的地方。 请帮帮我。 我想以毫秒为单位获得结果,但我无法找出正确的方法。

要将两个日期时间之间的时差转换为毫秒:

double totalMs = (endDate - startDate).TotalMilliseconds;

也许这段简短的代码可以为您提供帮助。 我读到Java函数“ calendar.getTimeInMillis()”返回自1970-01-01(如Unix Timestamp)以来的毫秒数。

    var dt = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("E. Africa Standard Time"));
    // Get C# time in milliseconds (since 1900-01-01)
    double milli = new TimeSpan(dt.Ticks).TotalMilliseconds;

    // Get Unix timestamp
    double unix = dt.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds;

    Console.WriteLine("Total Milliseconds: {0}  Unix: {1}", milli, unix);

用这个 :

decimal miliseconds = myDateTime.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;

myDateTime是一个DateTime对象

祝好运 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM