C#如何将datatable中一整列string转换为datetime?

马可萝卜i 2018-12-03 04:16:46
需求是这样的:datatable中有两列数据,默认string类型,如下:
Date1 date2 name
20181123051641 20181123051944 aa
20181123051742 20181123051634 nn
……
需要将date1,2 列的数据转成datetime后存入SQLserver 。当然也可以先存入在SQL里转(但是我两种都不会啊)
希望将date1,date2 直接转换为datetime类型,
怎么样最快捷方便?


date1 date2可以理解为YYYYMMddhhmmss

能否整列转换?

...全文
2094 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
马可萝卜i 2018-12-10
  • 打赏
  • 举报
回复
引用 19 楼 以专业开发人员为伍 的回复:
[quote=引用 15 楼 lovejjfan 的回复:] [quote=引用 12 楼 大然然 的回复:] 你的string列假设叫column1 添加一个column,type = datetime,名字叫columntemp 然后循环每一行,把string 转datetime后 值放在columntemp里 循环完成后删除column1 然后把columntemp改名为column1
那啥,道理我都懂。。。[/quote] 你是不会给 DataTable 增加一列呢?还是不会写一个循环语句来给 DataRow 的某列赋值?[/quote] 前面已经成功,现在不会 把columntemp改名为column1。 还有,我需要在sql里面根据datetime,只有日期的部分,将某一日期的全部删除(但是现在数据包括了time..)如何操作?
大然然 2018-12-10
  • 打赏
  • 举报
回复
引用 20 楼 lovejjfan 的回复:
[quote=引用 19 楼 以专业开发人员为伍 的回复:]
[quote=引用 15 楼 lovejjfan 的回复:]
[quote=引用 12 楼 大然然 的回复:]
你的string列假设叫column1
添加一个column,type = datetime,名字叫columntemp
然后循环每一行,把string 转datetime后 值放在columntemp里
循环完成后删除column1
然后把columntemp改名为column1

那啥,道理我都懂。。。[/quote]

你是不会给 DataTable 增加一列呢?还是不会写一个循环语句来给 DataRow 的某列赋值?[/quote]

前面已经成功,现在不会 把columntemp改名为column1。
还有,我需要在sql里面根据datetime,只有日期的部分,将某一日期的全部删除(但是现在数据包括了time..)如何操作?[/quote]

  • 打赏
  • 举报
回复
引用 15 楼 lovejjfan 的回复:
[quote=引用 12 楼 大然然 的回复:] 你的string列假设叫column1 添加一个column,type = datetime,名字叫columntemp 然后循环每一行,把string 转datetime后 值放在columntemp里 循环完成后删除column1 然后把columntemp改名为column1
那啥,道理我都懂。。。[/quote] 你是不会给 DataTable 增加一列呢?还是不会写一个循环语句来给 DataRow 的某列赋值?
  • 打赏
  • 举报
回复
引用 16 楼 lovejjfan 的回复:
[quote=引用 14 楼 智者知已应修善业 的回复:]
效果感觉可以啊。。然饿(⊙﹏⊙) 1,2 5,6 是啥? [/quote] 效果那么好,请先付5毛钱。
  • 打赏
  • 举报
回复
引用 16 楼 lovejjfan 的回复:
[quote=引用 14 楼 智者知已应修善业 的回复:]

效果感觉可以啊。。然饿(⊙﹏⊙) 1,2 5,6 是啥? [/quote]
发错贴了,不过获取整列的道理是一样的。
马可萝卜i 2018-12-09
  • 打赏
  • 举报
回复
引用 14 楼 智者知已应修善业 的回复:
效果感觉可以啊。。然饿(⊙﹏⊙) 1,2 5,6 是啥?
马可萝卜i 2018-12-09
  • 打赏
  • 举报
回复
引用 12 楼 大然然 的回复:
你的string列假设叫column1 添加一个column,type = datetime,名字叫columntemp 然后循环每一行,把string 转datetime后 值放在columntemp里 循环完成后删除column1 然后把columntemp改名为column1
那啥,道理我都懂。。。
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
其实网上有循环获取某列的写法,自己去找去学,这里提供一种写法的运行效果,看是否达到目的?

大然然 2018-12-06
  • 打赏
  • 举报
回复
你的string列假设叫column1
添加一个column,type = datetime,名字叫columntemp
然后循环每一行,把string 转datetime后 值放在columntemp里
循环完成后删除column1
然后把columntemp改名为column1
马可萝卜i 2018-12-05
  • 打赏
  • 举报
回复
引用 3 楼 娃都会打酱油了 的回复:
for循环datatable,然后按2L做法,将每个字符串转为日期,再ToString("yyyy-MM-dd HH:mm:ss")转成string赋值回对应行列,这样数据库能直接识别日期
嗯 我一开始就想的这个方法了,可是不会代码。。。求代码 额。。
马可萝卜i 2018-12-05
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
DateTime dt = DateTime.ParseExact("20181123051641", "yyyyMMddhhmmss", System.Globalization.CultureInfo.CurrentCulture);
单句的这个转换我懂的。。。问题是需要将一个table里面一整列所有都转换啊。。
xuzuning 2018-12-04
  • 打赏
  • 举报
回复
别再忽悠人了
楼主要求的是 整列string转换为datetime
这在 C# 是绝无实现的可能的!虽然 C# 提供了丰富、且功能齐全的工具,但并没有提供将 string 原地转换为 datetime 的可能性
CGabriel 2018-12-04
  • 打赏
  • 举报
回复
DateTime.TryParseExact https://docs.microsoft.com/en-us/dotnet/api/system.datetime.tryparseexact?view=netframework-4.7.2#System_DateTime_TryParseExact_System_String_System_String_System_IFormatProvider_System_Globalization_DateTimeStyles_System_DateTime__ 具体可以下面的例子,例如:

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, 
                              DateTimeStyles.AdjustToUniversal, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
  • 打赏
  • 举报
回复
for循环datatable,然后按2L做法,将每个字符串转为日期,再ToString("yyyy-MM-dd HH:mm:ss")转成string赋值回对应行列,这样数据库能直接识别日期
正怒月神 2018-12-04
  • 打赏
  • 举报
回复
DateTime dt = DateTime.ParseExact("20181123051641", "yyyyMMddhhmmss", System.Globalization.CultureInfo.CurrentCulture);
马可萝卜i 2018-12-04
  • 打赏
  • 举报
回复
额 肿么没有大神帮忙解答下。。。。 - - 。
  • 打赏
  • 举报
回复
还有一种,写数据库触发器也可以!插入触发,将他转了之后再插入!
  • 打赏
  • 举报
回复
除非你循环可以只写一次转换!
就是说你一次一次的取出来转完了再加数据库

111,106

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧