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

标签 .net java-interop mpxj

我在 .NET 中使用 MPXJ 库来解析 MS 项目 (MPP) 文件,它运行良好。我遇到的一个问题是尝试将任务开始日期和完成日期转换为 .NET DateTime 以用于我的数据模型。

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

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

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

谢谢。

最佳答案

我知道我在这方面已经晚了两年多,但如果它对您或阅读此线程的任何其他人有用,这里有一个简单的小扩展方法,我放在一起(在 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));
}

关于.net - .NET 中的 MPXJ 将 java Date 转换为 .NET DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058367/

相关文章:

c# - 默认参数和覆盖

.net - VBPROJ/CSPROJ

c# - UnitOfWork 与多个同时连接作斗争

Clojure 的 :gen-class and double arrays

java - 如何在 MPXJ 中将周末设置为工作日

c# - 运行时自定义属性泛型

c# - JNBridge可以在linux下使用吗?

servlets - 如何定义实现 servlet 接口(interface)的 clojure 类型?

java - 使用 mpxj 读取 asta 文件 (.pp) 时出现异常

java - 如何在 java 中创建 .mpp 文件?