繁体   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