将一个 datetime 从 javascript 传递到 c # (控制器)

如何使用 jquery 和 mvc3将日期时间(我需要它传递到第二个)传递给 c # 。这就是我所拥有的

var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.toUTCString() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});

我不知道日期应该采用什么格式,以便 C # 能够理解。

119843 次浏览

应采用下列格式:

$.ajax({
type: "POST",
url: "@Url.Action("refresh", "group")",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
myDate: '2011-04-02 17:15:45'
}),
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});

试试这个

var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.getTimezoneOffset() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});

C #

DateTime.Now.ToUniversalTime().AddMinutes(double.Parse(MyDate)).ToString();

更新: 请参阅标记答案作为一个更好的解决方案来实现这一点。以下解决方案不再需要。

将 json 日期转换为这种格式“ MM/dd/yyyy HH: MM: ss”
DateFormat 是一个 jasondate format. js 文件,可以在 < a href = “ http://blog.stevenlevithan.com/archive/date-time-format”rel = “ nofollow norefrer”> blog.stevenlevithan.com 找到

var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");

我发现我需要像下面这样包装我的日期时间字符串:

"startdate": "\/Date(" + date() + ")\/"

我花了一个小时才弄清楚如何使 WCF 服务返回错误消息,这个错误消息告诉我 XD

尝试使用 toISOString ()。它返回 ISO8601格式的字符串。

GET 方法

Javascript

$.get('/example/doGet?date=' + new Date().toISOString(), function (result) {
console.log(result);
});

C #

[HttpGet]
public JsonResult DoGet(DateTime date)
{
return Json(date.ToString(), JsonRequestBehavior.AllowGet);
}

POST 方法

Javascript

$.post('/example/do', { date: date.toISOString() }, function (result) {
console.log(result);
});

C #

[HttpPost]
public JsonResult Do(DateTime date)
{
return Json(date.ToString());
}
var Ihours = Math.floor(TotMin / 60);

Var Iminutes = TotMin% 60; Var TotalTime = Ihours +”: “ + Iminutes +’: 00’;

   $.ajax({
url: ../..,
cache: false,
type: "POST",
data: JSON.stringify({objRoot: TotalTime}) ,
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (response) {


},
error: function (er) {
console.log(er);
}
});

Javascript 中有一个 toJSON()方法返回 Date 对象的字符串表示形式。ToJSON ()是 IE8 + ,ToISOString ()是 IE9 + 。两种结果都是 YYYY-MM-DDTHH:mm:ss.sssZ格式的。

var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.toJSON() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});