Передать дату и время из JavaScript в C # (контроллер) - PullRequest
55 голосов
/ 02 апреля 2011

Как вы передаете дату (мне это нужно во вторую) на c #, используя 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                        
       }
   });

Я не могу понять, в каком формате должна быть дата, чтобы C # мог ее понять.

Ответы [ 6 ]

74 голосов
/ 29 января 2015

Попробуйте использовать 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());
}
27 голосов
/ 02 апреля 2011

Должен работать следующий формат:

$.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                        
    }
});
1 голос
/ 02 апреля 2011

попробуйте

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                        
       }
   });

In C #

DateTime.Now.ToUniversalTime().AddMinutes(double.Parse(MyDate)).ToString();
0 голосов
/ 05 мая 2017
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);
            }
        });
0 голосов
/ 16 ноября 2012

Я обнаружил, что мне нужно обернуть строку даты и времени следующим образом:

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

Мне потребовался час, чтобы понять, как включить службу WCF, чтобы вернуть мне сообщение об ошибке, в котором говорилось, что XD

0 голосов
/ 23 мая 2011

Преобразование даты json в этот формат "мм / дд / гггг ЧЧ: ММ: сс"
dateFormat - файл формата jasondate format.js, найденный по адресу blog.stevenlevithan.com

var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...