将 toDate 函数设置为到达时间 Anylogic

Setting toDate function as arrival time Anylogic

为了在 anylogic 中以正确的方式使用 excel 中的日期,我已经苦苦挣扎了好几天。 我创建了一个数据库,其中日期在不同的列中表示为整数,否则 excel 会弄乱日期(例如 year=2021 , month=12 day=5 hour=6 minute=44 second= 0代表2021/12/56:44:00)

现在我知道这可以通过函数 toDate(year, month, day, hour, minutes seconds) 转换为日期。但是我如何使用这些整数从源数据库中创建具有特定参数的代理并添加到自定义群体中?

最简单的方法是在数据库中添加一个函数toDate(......)的列,但我不知道该怎么做(不清楚的请看图片)。或者还有其他解决方案吗?

一种方法:使用动态事件。

创建一个并在操作代码中写入mySource.inject(1)

在 Main 中,启动时,加载所有数据库行并为每一行创建一个 DE,下面假设它只有一个小时列: (使用数据库查询向导调整您的查询)。

在您的源对象中,将其设置为“调用 inject() 函数”

这会起作用,但是如您所见,它非常麻烦。如果您的 Excel 正确并且只需干净利落地导入日期列,那么您就可以直接使用源选项“数据库中的到达 table”。我知道您需要定期到达,所以也许可以在 Excel 中编写代码,以便在特定日期为您提供这些...