diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
index edf5b71..de4c8ea 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
@@ -21,6 +21,7 @@
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.text.MessageFormat;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -578,7 +579,16 @@
 			}
 		}
 
-		task.setParameterValue("created", DateHelper.convertToString(null, "dd.MM.yyyy HH:mm:ss"));
+		Date currentDate = null;
+		try {
+			if (reportDto != null && reportDto.getCurrentDate() != null) {
+				currentDate = DateHelper.getDateFromString(reportDto.getCurrentDate(), "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'");
+			}
+		} catch (ParseException e) {
+			LOGGER.error(e, e);
+		}
+
+		task.setParameterValue("created", DateHelper.convertToString(currentDate, "dd.MM.yyyy HH:mm:ss"));
 
 		return isSet;
 	}
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/dto/report/ReportDto.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/dto/report/ReportDto.java
index c0fb5f4..63ecc74 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/dto/report/ReportDto.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/dto/report/ReportDto.java
@@ -52,6 +52,7 @@
 	@NotNull(message = "Ebene muss angegeben werden")
 	private String reportLevel;
 	private int groupPosition;
+	private String currentDate;
 
 	public String getReportName() {
 		return reportName;
@@ -181,4 +182,17 @@
 		this.statusId = statusId;
 	}
 
+	/**
+	 * @return the currentDate
+	 */
+	public String getCurrentDate() {
+		return currentDate;
+	}
+
+	/**
+	 * @param currentDate the currentDate to set
+	 */
+	public void setCurrentDate(String currentDate) {
+		this.currentDate = currentDate;
+	}
 }
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
index fe00229..605c2e0 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
@@ -129,6 +129,7 @@
 
 		try {
 			File reportFile = reportController.generateReport(reportDto);
+			
 
 			reportController.setResponseData(response, reportDto);
 			reportController.flushReportFile(reportFile, response.getOutputStream());
