codememo

javascript에서 c#(컨트롤러)로 날짜/시간을 전달합니다.

tipmemo 2023. 3. 29. 21:32
반응형

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#이 이해하기 위해서는 어떤 형식으로 해야 할지 모르겠습니다.

toISOString()을 사용해 보겠습니다.ISO8601 형식의 문자열을 반환합니다.

GET 방식

자바스크립트

$.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 방식

자바스크립트

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

c#

[HttpPost]
public JsonResult Do(DateTime date)
{
     return Json(date.ToString());
}

다음 형식이 작동합니다.

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

이 있습니다.toJSON()javascript의 메서드는 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                        
           }
       });

이거 먹어봐

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

datetime 문자열을 다음과 같이 줄 바꿈해야 합니다.

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

WCF 서비스를 활성화하여 XD를 나타내는 오류 메시지를 반환하는 방법을 알아내는 데 1시간이 걸렸습니다.

업데이트: 이를 구현하기 위한 더 나은 솔루션으로 표시된 답변을 참조하십시오.다음 솔루션은 더 이상 필요하지 않습니다.

json 날짜를 "mm/dd/yyy HH" 형식으로 변환:MM:ss"
dateFormat은 jasondate format.http://blog.stevenlevithan.com 에서 구할 수 있는 파일입니다.

var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");
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);
            }
        });

언급URL : https://stackoverflow.com/questions/5523870/pass-a-datetime-from-javascript-to-c-sharp-controller

반응형