在我的GridView中,我可以正常看到我的日期列为mm/dd/yy
,但是当我选择一条记录并指定一个类似的字符串时
GridViewRow row = GridView1.SelectedRow;
string sdate= row.Cells[2].Text; //Date is in Column 2
当我输出此sdate
字符串时,它会返回:1368309600000
如果我尝试转换它,它不起作用,我试图从SQL数据库中选择一些东西,我得到这个错误
从字符串
转换日期和/或时间时转换失败
编辑:转换的SQL语句中的部分是:
convert(datetime, '" + sdate +"', 101"+")
我怀疑问题出在sdate
本身,但我不确定
答案 0 :(得分:0)
您的日期字符串似乎表示为自 1970年1月1日00:00:00 GMT 以来的毫秒数。 T-SQL CONVERT()
函数不支持此格式。所以,您可以像这样转换为C#DateTime
......
DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
.AddMilliseconds(Convert.ToDouble(sdate));
1368309600000
转换为11/05/2013 22:00:00Z
(这是UTC)
然后调整本地时间并重新格式化SQL字符串的日期,如下所示......
"convert(datetime, '" + date.ToLocalTime().ToString("MM/dd/yyyy") + "', 101)"
答案 1 :(得分:-2)
for word_list in cleaned_example:
sentiments = [sentiment(word)[0] for word in word_list]
for i in range(len(sentiments)):
if sentiments[i] < sentiments[i+1]:
print('yes')
else:
print('no')
这里重要的部分是103,它是格式dd-mm-yyyy 看看你当地的格式。 对于美国以外的人来说,这个问题才会出现。