将DateTime格式转换为Matlab日期序列号格式



我希望能够将DateTime(2012/12/31 10-21-17.617)转换为Matlab采用的十进制数(日期序列号)。

我已经使用以下方法将Matlab日期序列号转换为日期时间格式(yyy/mm/dd HH:mm:ss.fff):

DateTime conv = new DateTime(1, 1, 1).AddDays(734139.045000000040).AddYears(-1)

然而,我希望能够做与上述相反的事情。我知道.NET的日期是从0001/01/01开始的,而对于Matlab,它是0000/00/00

除非我遗漏了什么,否则一个简单的方法是TimeSpan.TotalDays(http://msdn.microsoft.com/en-us/library/system.timespan.totaldays.aspx)

创建一个从任意点到您试图转换的DateTime的时间跨度,然后根据需要调整偏移量,将其转换为matlab格式。添加代码示例

    private DateTime MatlabToNET(double days)
    {
        return new DateTime(1, 1, 1).AddDays(days).AddYears(-1);
    }
    private double NETtoMatlab(DateTime dt)
    {
        TimeSpan ts = dt - new DateTime();
        return ts.TotalDays + 365;
    }

相关内容

  • 没有找到相关文章

最新更新