从javascript传递日期时间到c#(控制器)

2020/11/27 12:31 · jquery ·  · 0评论

您如何使用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#理解。

以下格式应该可以工作:

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

尝试使用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());
}

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

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

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

花了我一个小时来弄清楚如何启用WCF服务以将错误消息告诉我,该错误消息告诉我XD

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

更新:请查看标记的答案作为实现此目的的更好解决方案。不再需要以下解决方案。

转换JSON日期为此格式“MM / DD / YYYY HH:MM:SS”

的日期格式为一个jasondate format.js文件中找到在
blog.stevenlevithan.com

var _meetStartTime = dateFormat(now, "mm/dd/yyyy HH:MM:ss");
本文地址:http://jquery.askforanswer.com/congjavascriptchuandiriqishijiandaockongzhiqi.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!