运行 scala 中的代码时是否可以动态更改日期时间值

Is it possible to change the date time values dynamically while running the code in scala

我有如下数据:

val jsonData = "{\n  \"id\":\"" + a + "\",\n  \"Category\":\"Flink\",\n  \"eventTime\":\""+dateTime+"\"\n  \n}"

我还创建了一个 DateTime 变量来获取 current timestamp.

val dateTime:String =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS").format(LocalDateTime.now)  

现在我有一个用于创建数据集的 for 循环:

for (a <- minRange to maxRange) {
      jsonData = "{\n  \"id\":\"" + a + "\",\n  \"Category\":\"Flink\",\n  \"eventTime\":\""+dateTime+"\"\n  \n}"
      println(jsonData)
      Thread.sleep(500)
    }  

现在我想要实现的是,我想动态替换 JSON 数据中 eventTime 属性的值。就是记录的event time。记录到达源的时间。但是,当我尝试 运行 示例代码时,它给了我如下输出:

{
  "id":"10",
  "Category":"Flink",
  "eventTime":"2021-12-26 21:09:53.217"
  
}
{
  "id":"11",
  "Category":"Flink",
  "eventTime":"2021-12-26 21:09:53.217"
  
}

正如我们所见,当代码 运行 正确时,它会给我时间戳,但是否可以像 "eventTime":"2021-12-26 21:09:55.589""eventTime":"2021-12-26 21:09:58.800" 那样动态获取它?

用它的值替换变量 dateTime 应该会得到动态 event time.

for (a <- minRange to maxRange) {
  jsonData = "{\n  \"id\":\"" + a + "\",\n  \"Category\":\"Flink\",\n  \"eventTime\":\""+DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS").format(LocalDateTime.now)+"\"\n  \n}"
  println(jsonData)
  Thread.sleep(500)
}

输出:

{
  "id":"0",
  "Category":"Flink",
  "eventTime":"2021-12-26 23:03:04.609"
  
}
{
  "id":"1",
  "Category":"Flink",
  "eventTime":"2021-12-26 23:03:05.114"
  
}
{
  "id":"2",
  "Category":"Flink",
  "eventTime":"2021-12-26 23:03:05.616"
  
}