c# - C# DateTime 字段未格式化
问题描述
我已阅读大量帮助文本并尝试了几种不同的方法来解决该问题,但均未成功。
当我简单地获得代码时,line.Cells[5].Value = vo2.Rows[0]["Start"].toString();
我得到3/9/2019 8:00:00
的结果是datagridview
. 我希望这是dd/mm/yyyy
格式。
我怎样才能做到这一点?
SmartsheetDataAdapter dataAdapter4 = new SmartsheetDataAdapter(sql10, connection);
DataTable vo2 = new DataTable();
dataAdapter4.Fill(vo2);
//double vocost = 0;
if (vo2.Rows.Count > 0)
{
DateTime thisdate = new DateTime(vo2.Rows[0]["Start"]);
//DateTime deldate = DateTime.ParseExact(dd1, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
line.Cells[5].Value = thisdate.ToString("dd/M/yyyy");
当前代码给出错误:
论点 1:无法从 'object' 转换为 'long'
解决方案
您收到错误是因为DateTime
构造函数需要很长时间,但您传递了一个对象:
DateTime thisdate = new DateTime(vo2.Rows[0]["Start"]);
我猜想中的第一列DataTable
已经是 a DateTime
,然后使用这个:
DateTime thisdate = vo2.Rows[0].Field<DateTime>("Start");
否则你必须解析它,例如:
string dtVal = vo2.Rows[0]["Start"].ToString(); // 3/9/2019 8:00:00
DateTime thisdate = DateTime.ParseExact(dtVal, "d'/'M'/'yyyy h:mm:ss", null);
甚至更简单,因为您不需要此输入,ParseExact
但您可以使用Parse
:
DateTime thisdate = DateTime.Parse(dtVal);
推荐阅读
- java - 如何从 eclispe rcp 中的包中加载文件
- r - 在 R 中:如何连接具有相似名称的所有数据框?
- tfs - TFS 源代码控制 - 有没有办法撤消文件中的特定行?
- logging - Serilog 不会解构对象的集合
- angular - 获取嵌入式 power bi 报告的所有页面
- qt - 如何在 QtApp 上获取移动应用生命周期事件
- polymer-2.x - 铬聚合物 3 IIS 中的相对路径
- xpages - isAnonymous 与在 Xpages 中的 ACL 上检查分配给匿名用户的角色
- node.js - 为什么 Node.js 扩展在 Linux 上有效,但在 Windows 上无效?
- c - 如何在 C 中测量 DNS 查找时间