|
@@ -23,8 +23,8 @@ class MSET_Temp:
|
|
|
self.windCode = windCode.strip()
|
|
|
self.windTurbineNumberList = windTurbineNumberList
|
|
|
# 强制保留到秒
|
|
|
- self.startTime = self._truncate_to_seconds(startTime)
|
|
|
- self.endTime = self._truncate_to_seconds(endTime)
|
|
|
+ self.startTime = startTime
|
|
|
+ self.endTime = endTime
|
|
|
|
|
|
# D/L 矩阵相关
|
|
|
self.matrixD = None
|
|
@@ -32,21 +32,21 @@ class MSET_Temp:
|
|
|
self.healthyResidual = None
|
|
|
self.normalDataBallTree = None
|
|
|
|
|
|
- def _truncate_to_seconds(self, dt_str: str) -> str:
|
|
|
- """
|
|
|
- 将用户可能传进来的 ISO 时间字符串或包含毫秒的字符串
|
|
|
- 截断到秒,返回 "YYYY-MM-DD HH:MM:SS" 格式。
|
|
|
- 例如: "2025-06-01T12:34:56.789Z" → "2025-06-01 12:34:56"
|
|
|
- """
|
|
|
- # 先将 'T' 替换成空格,去掉尾部可能的 "Z"
|
|
|
- s = dt_str.replace("T", " ").rstrip("Z")
|
|
|
- # 如果含有小数秒,截断
|
|
|
- if "." in s:
|
|
|
- s = s.split(".")[0]
|
|
|
- # 如果还有 "+xx:xx" 时区后缀,也截断
|
|
|
- if "+" in s:
|
|
|
- s = s.split("+")[0]
|
|
|
- return s.strip()
|
|
|
+ # def _truncate_to_seconds(self, dt_str: str) -> str:
|
|
|
+ # """
|
|
|
+ # 将用户可能传进来的 ISO 时间字符串或包含毫秒的字符串
|
|
|
+ # 截断到秒,返回 "YYYY-MM-DD HH:MM:SS" 格式。
|
|
|
+ # 例如: "2025-06-01T12:34:56.789Z" → "2025-06-01 12:34:56"
|
|
|
+ # """
|
|
|
+ # # 先将 'T' 替换成空格,去掉尾部可能的 "Z"
|
|
|
+ # s = dt_str.replace("T", " ").rstrip("Z")
|
|
|
+ # # 如果含有小数秒,截断
|
|
|
+ # if "." in s:
|
|
|
+ # s = s.split(".")[0]
|
|
|
+ # # 如果还有 "+xx:xx" 时区后缀,也截断
|
|
|
+ # if "+" in s:
|
|
|
+ # s = s.split("+")[0]
|
|
|
+ # return s.strip()
|
|
|
|
|
|
def _get_data_by_filter(self) -> pd.DataFrame:
|
|
|
"""
|