C# 应用程序查询Azure移动服务字符串/日期列时出现问题
我在Azure上有一个移动服务,我的一个列(名为InputDate)被设置为string类型。示例值为C# 应用程序查询Azure移动服务字符串/日期列时出现问题,c#,date,datetime,azure,C#,Date,Datetime,Azure,我在Azure上有一个移动服务,我的一个列(名为InputDate)被设置为string类型。示例值为2015-07-23T18:00:00Z(ISO 8601格式) 但是,当我使用以下代码查询此表时: List<MyTable> MyTableData = await TheTable.Where(t => t.Name == "test") .OrderByDescending(t =>
2015-07-23T18:00:00Z
(ISO 8601格式)
但是,当我使用以下代码查询此表时:
List<MyTable> MyTableData = await TheTable.Where(t => t.Name == "test")
.OrderByDescending(t => t.__createdAt)
.ToListAsync();
看起来是这样的07/23/2015 18:00:00
,这是一种完全不同的格式,不包括t/Z分隔符,还导致System.FormatException:字符串未被识别为有效的日期时间。
调用DateTime.Parse时出现异常,以日期为参数
我真的不知道为什么会这样,我知道我可能应该将列设置为date类型,但忘记它是一个日期,作为一个字符串,它应该像Azure中一样显示,或者至少这是我希望发生的事情。尝试转换“DateTime”使用datetime.ParseExact静态函数将字符串属性设置为datetime
例如:
字符串strDate=“2015-07-23T18:00:00”;
DateTime mydate=DateTime.ParseExact(标准日期,“yyyy-MM-ddTHH:MM:ss”,System.Globalization.CultureInfo.InvariantCulture) 您的MyTable
类是否也将InputDate
定义为String
?或者作为一个DateTime
?是的,它的类型是string
,我可以尝试使用Wireshark或其他工具来查看Azure的原始响应实际包含的内容,以查看它是否是Azure端的某个内容,或者确实是我的应用程序。还是被这件事难住了!你能把表格上的班级包括在内吗
Debug.WriteLine(MyTableData[MyTableData.Count-1].InputDate);