【发布时间】:2017-04-12 07:58:24
【问题描述】:
我有一个 C# 代码从 Sql 表中获取一些日期,这些日期由 mssql getdate() 填充,这里的问题是我的日期显示在以下结构中:
/Date(1480343496517)/
而我的期望是这样的:
2016-11-28 08:13:23.820 //This is what I get executing my query in MSSQL
这是我的完整代码:
C#类
public MyDate(DateTime date)
{
Date = date;
}
public DateTime Date { get; set; }
网络方法
[WebMethod]
public string ShowDate()
{
DataTable dt = new DataTable();
dt = conn.CheckTable("date");
MyDate fch;
List<MyDate> list = new List<MyDate>();
for (int i = 0; i < dt.Rows.Count; i++)
{
fch = new Fecha();
fch.Date = Convert.ToDateTime(dt.Rows[i]["Date"]);
list.Add(fch);
fch = null;
}
JavaScriptSerializer js = new JavaScriptSerializer();
string lines = js.Serialize(list);
return lines;
}
检查表
public DataTable CheckTable(string table)
{
dt = new DataTable();
ds = new DataSet();
string sql = "";
switch (table)
{
case "date":
sql = "SELECT Date FROM dbo.Table_1";
break;
}
try
{
Open();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds);
dt = ds.Tables[0];
}
catch (Exception ex)
{
}
finally
{
Close();
}
return dt;
}
还有我的 JS 函数:
$.ajax({
type: 'POST', //POST | GET
url: "WebService.asmx/ShowDate", //Direccion del ws
dataType: 'json',
contentType: 'application/json',
timeout: 600000,
error: function (xhr) {
$('#dates').html('<option>Error</option>');
},
success: function (data) {
var datas = JSON.parse(data.d);
for (var i = 0; i < datos.length; i++) {
var myDate= datas[i].Date;
options += '<option value ="' + myDate+ '">';
options += myDate;
options += '</option>';
}
$('#dates').html(options);
}
});
我做错了什么,我能做些什么来解决它?
【问题讨论】:
-
我猜 JavaScriptSerializer 将 dateTime 转换为毫秒,因此可以轻松地将其作为 JSON 发送到客户端
标签: javascript c# jquery sql-server javascriptserializer