【发布时间】:2022-01-02 21:39:53
【问题描述】:
有点问题,我现在无法解决。
我在我的树莓派上运行了一个不和谐机器人,它有一个自动消息系统,可以在一定时间或确切日期之后发送。
我的代码在 Windows 上调试时可以在 Windows 上运行,但在 Linux 上运行已发布的项目时控制台会抛出警告。
日期取自我的 MySQL 数据库中的表并放入 DataTable。从 DataRow 中获取日期的代码是:
DateTime datetime = DateTime.ParseExact(row["datetime"].ToString(), "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
为什么会这样?无论我如何格式化字符串(点、破折号或斜杠),警告仍然存在。消息未发送。
我什至尝试使用正则表达式删除不可见的空格,但也不起作用。 (有问题的正则表达式,虽然我放弃了它,因为它没有产生任何结果)
Regex.Replace($"{row["datetime"].ToString()}", @"[^\d\s\.:]", string.Empty);
【问题讨论】:
-
MySql db 上列的数据类型是什么?
-
当然是“日期时间”。
-
DateTime datetime = Convert.ToDateTime(row["datetime"]); -
那你为什么要把一个DateTime转换成一个字符串然后再转换回一个DateTime呢? DateTime 列已经是 .... 日期时间。你只需要一个演员或至少检查空值,然后演员
标签: c# windows datetime raspberry-pi