将dateformat从javascript转换为c#

时间:2016-11-08 15:08:49

标签: c# momentjs

在c#中,我们的日期格式为 日:dd(小写字母)月:MM(资本)年:yyyy(小)

但是在moment.js日期格式有点不同 日:DD(资本)月:MM(资本)年:YYYY(资本)

所以当我从前端(javascript)发送日期格式到后端(c#)时 由于日期格式不匹配,我收到了异常。

C#中有什么方法可以将moment dateformat转换为c#格式吗?

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,我相信你想要.NET DateTime.ParseExact method

答案 1 :(得分:0)

C#中的DateTime的扩展metod

public static class FormatProviderExtension
{
   public static string ToMomentJSString(this DateTime arg, string format)
   {
       if (arg == null) throw new ArgumentNullException("arg");
       if (arg.GetType() != typeof(DateTime)) return arg.ToString();
       var date = (DateTime)arg;
       format = format
           .Replace("DD", "dd")
           .Replace("YYYY", "yyyy"); //etc.
       return date.ToString(format);
   }
}

用法:

var d = DateTime.Now;
Console.WriteLine(d.ToMomentJSString("DD MM YYYY"));
Console.WriteLine(d.ToMomentJSString("DD"));
Console.WriteLine(d.ToMomentJSString("YYYY"));