asp.net 如何将导入字段数据转换成日期,格式要求如:2014-01-03。保证字符串有空值时,正常插入空值?

问题具体描述如下:A表:有以下几个字段用来存日期(格式如:2014-01-03)用EXCEL将数据导入后,变为2014-01-030:00:00这样的格式我想去掉后面0:... 问题具体描述如下:
A表:有以下几个字段用来存日期(格式如:2014-01-03)

用EXCEL将数据导入后,变为 2014-01-03 0:00:00 这样的格式
我想去掉后面 0:00:00 这样的时间

如果四个字段都采用以下,将日期格式设置为"yyyy-MM-dd"
string yhtjs = dr[i]["原旅业合同结束日期"].ToString();
DateTime dt1 =Convert.ToDateTime(yhtjs);
string yhtjs1 =dt1.ToString("yyyy-MM-dd");
。。。。。(其他字段设置略)
此时,数据不为空时能正常

但是如果存在 yhtjs xhtjs yjk_htjs xjk_htjs 四个字段中的内容有任何一个为空时,都会出错提示为如下:
该字符串未被识别为有效的 DateTime。

如何解决这种情况?请大侠具体帮忙指点,谢谢!(没分了55,非常抱歉)
展开
 我来答
匿名用户
2014-01-03
展开全部
在导入的时候判断一下,为空的时候,处理一下不行吗?
追问
因为每个字段都存在有空内容和非空内容。所以判断为空处理,我试了还有问题。“该字符串未被识别为有效的 DateTime。”.....后面加多几个判断,非空情况下,为空情况下,分别加上判断。测试,正常!谢谢你给我的启示。
handangaoyang
2014-01-03 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:916万
展开全部

两种方式

1.导入数据完成后,通过sql,检查一遍。将所有时间字段为null或者为''的都替换成你设置的默认时间

UPDATE 表名 SET 时间字段='默认值'
WHERE 时间字段 IS NULL OR 时间字段=''

2.通过代码

string yhtjs = dr[i]["原旅业合同结束日期"].ToString();
//用可空类型
DateTime? dt1 =Convert.ToDateTime(yhtjs);
string yhtjs1 =dt1.ToString("yyyy-MM-dd");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yankj1988
2014-01-03 · 超过23用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:61.2万
展开全部
只要是为空的内容字段你写入默认为最小日期格式或者最大日期格式(如:1900-01-01或2999-12-31),然后这样你转DateTime就不会报错了,再根据你自己程序要求处理默认的1900-01-01,这时候默认的1900-01-01相当于空内容。希望我的回答对你有帮助,谢谢!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c449575105
2014-01-03 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:146万
展开全部
导出是EXCEL单元格设置成文本格式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式