c#中的日期时间到毫秒?

时间:2017-11-09 13:25:17

标签: java 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);

这是我被困的地方。请帮帮我。我想在几毫秒内得到结果,我无法找到正确的方法。

3 个答案:

答案 0 :(得分:0)

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

double totalMs = (endDate - startDate).TotalMilliseconds;

答案 1 :(得分:0)

也许,这个简短的代码可以帮到你。我读到java函数“calendar.getTimeInMillis()”返回自1970-01-01以来的毫秒数(与Unix时间戳一样)。

    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);

答案 2 :(得分:0)

使用此:

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

myDateTime是一个DateTime对象

祝你好运:)

相关问题