.NET 中的 MPXJ 将 java Date 转换为 .NET DateTime

Jef*_*ing 2 .net java-interop mpxj

我正在使用 .NET 中的 MPXJ 库来解析 MS Project (MPP) 文件,而且效果很好。我遇到的一个问题是尝试将任务开始和完成日期转换为 .NET DateTime 以与我的数据模型一起使用。

我正在完成所有任务并调用 task.getFinish() 和 task.getStart() ,它们都返回 javva.util.Date 对象。

当我使用 task.getFinish().getYear()、task.getFinish().getMonth() 等来构建新的 DateTime 对象时,它会警告我它们已过时。

将开始和结束日期从 MPXJ 获取到 .NET DateTime 对象的最佳方法是什么?

谢谢。

小智 5

我知道我在这个问题上已经晚了两年多了,但如果它对你或其他阅读这个线程的人有用,这里有一个简单的小扩展方法(在 C# 中)来处理这个转换:

internal static DateTime ToDateTime(this java.util.Date javaDate)
{
    var cal = java.util.Calendar.getInstance();
    cal.setTime(javaDate);

    // note that the Month component of java.util.Date  
    // from 0-11 (i.e. Jan == 0)
    return new DateTime(cal.get(java.util.Calendar.YEAR),
                        cal.get(java.util.Calendar.MONTH) + 1,
                        cal.get(java.util.Calendar.DAY_OF_MONTH),
                        cal.get(java.util.Calendar.HOUR_OF_DAY),
                        cal.get(java.util.Calendar.MINUTE),
                        cal.get(java.util.Calendar.SECOND));
}
Run Code Online (Sandbox Code Playgroud)