簡體   English   中英

相當於noda中的joda LocalTime getMillisOfDay()

[英]Equivalent of joda LocalTime getMillisOfDay() in noda

我正在將一些代碼從Java移植到.NET,並尋找與LocalTime對象的getMillisOfDay() joda-time方法等效的noda-time方法。

是否有同等學歷,或者我必須自己編寫?

在Noda Time 1.x中,使用LocalTime.TickOfDay屬性,然后將其除以NodaConstants.TicksPerMillisecond即可得到毫秒:

LocalTime localTime = ...;
long millis = localTime.TickOfDay / NodaConstants.TicksPerMillisecond;

借助開箱即用的.Net功能,您可以最接近午夜以來的毫秒數

dateTime.TimeOfDay.TotalMilliseconds

例如

double millisOfDay = DateTime.Now.TimeOfDay.TotalMilliseconds;

TimeOfDay返回午夜以來的TimeSpan (一天中的時間), TotalMilliseconds返回(該名稱可能已經給出)該TimeSpan的毫秒總數。

順便說一句,它是double的,因此您還將獲得毫秒級的分數。 如果您非常需要此方法,則擴展方法可能會有所幫助:

public static class DateTimeExtension
{
    // should of course be in pascal case ;)
    public static int getMillisOfDay(this DateTime dateTime)
    {
        return (int) dateTime.TimeOfDay.TotalMilliseconds;
    }
}

int millisOfDay = DateTime.Now.getMillisOfDay();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM