Передача datetime из javascript в С# (Controller)
Как вы передаете время даты (мне нужно это на второе) в С#, используя jquery и mvc3. Это то, что у меня есть
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
}
});
Я не могу понять, в каком формате должна быть дата, чтобы С# понимал ее.
Ответы
Ответ 1
Должен работать следующий формат:
$.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
}
});
Ответ 2
Попробуйте использовать toISOString(). Он возвращает строку в формате ISO8601.
Метод GET
Javascript
$.get('/example/doGet?date=' + new Date().toISOString(), function (result) {
console.log(result);
});
С#
[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);
});
С#
[HttpPost]
public JsonResult Do(DateTime date)
{
return Json(date.ToString());
}
Ответ 3
попробуйте это
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
}
});
В С#
DateTime.Now.ToUniversalTime().AddMinutes(double.Parse(MyDate)).ToString();
Ответ 4
Я обнаружил, что мне нужно обернуть строку datetime следующим образом:
"startdate": "\/Date(" + date() + ")\/"
Потребовал мне час, чтобы выяснить, как включить службу WCF, чтобы вернуть мне сообщение об ошибке, в котором говорилось, что XD
Ответ 5
В 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
}
});
Ответ 6
Преобразование даты json в этот формат "mm/dd/yyyy HH: MM: ss"
dateFormat - файл jasondate format.js, найденный в blog.stevenlevithan.com
var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");
Ответ 7
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);
}
});