将.net日期格式转换为javascript格式

时间:2015-08-20 08:55:11

标签: c# asp.net-mvc date-format

我正在开发一个ASP.NET MVC应用程序,我使用一个infragistics网格来显示数据,我有一个日期格式列,我可以显示几种格式。在我的.NET服务器端,我存储的格式如下:

{0:d}
{0:D}
{0:G}
{0:s}

我的infragistics JavaScript网格只能理解这种格式:

dd/mm/yyyy
dddd d MMMM yyyy
...
...

我想知道如何在不进行棘手的字符串操作的情况下将.NET格式转换为简单的JavaScript格式。 没有本地转换器可以从此{0:d}传递到c#中的dd/mm/yyyy

提前感谢您的帮助

2 个答案:

答案 0 :(得分:3)

使用DateTime格式化var s = myData.type.ToString("dd/MM/yyyy"); 值。

    <ImageView
      android:layout_width="10dp"
      android:layout_height="wrap_content"
      android:id="@+id/medication_administration_time_row_fmk_icon" />

    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_toLeftOf="@id/medication_administration_time_row_fmk_icon"
      android:id="@+id/medication_administration_time_row_drug" />

有关详细信息,请参阅Custom Date and Time Formats

答案 1 :(得分:0)

在这里你去^^让我们创建自定义转换器

 public class DateTimeConverter : JavaScriptConverter
    {
      public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
      {
        throw new NotImplementedException();
      }


  public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
  {
    return new Dictionary<string, object> { { "", ((DateTime)obj).ToString("dd/MM/yyyy") } };
  }


  public override IEnumerable<Type> SupportedTypes { get { return [] { typeof(DateTime) }; } }


}

然后让我们创建自定义的JsonResult类。

public class CustomJsonResult : JsonResult
{
  public override void ExecuteResult(ControllerContext context)
  {
      if (context == null)
      {
          throw new ArgumentNullException("context");
      }
      HttpResponseBase response = context.HttpContext.Response;
      if (!string.IsNullOrEmpty(this.ContentType))
      {
        response.ContentType = this.ContentType;
      }
      else
      {
        response.ContentType = "application/json";
      }
      if (this.ContentEncoding != null)
      {
        response.ContentEncoding = this.ContentEncoding;
      }
      if (this.Data != null)
      {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        serializer.RegisterConverters(new [] { new DateTimeConverter () });
        response.Write(serializer.Serialize(this.Data));
      }
  }
}

在基本控制器中覆盖Json方法以返回CustomJsonResult

public class BaseController : Controller
{
protected override JsonResult Json(object data, string contentType, Encoding contentEncoding, JsonRequestBehavior behavior) {
    return new CustomJsonResult{
        Data = data,
        ContentType = contentType,
        ContentEncoding = contentEncoding
    };
}
}

然后让我们返回我们的自定义Json格式

public class AppController : BaseController
{
public ActionResult MyAction()
{
  //Assuming there's a variable called data
return Json(data,JsonBehavior.AllowGet);
}
}