我在使用不同的日期格式时遇到了困难。我有一个使用asp.net
c#
. 我使用JQuery
了日历控件,它显示日期和时间。
然后我使用DateTime.Parse()
. 如果服务器设置为印度日期格式,则应用程序会生成转换错误“字符串未被识别为有效日期时间”。
有没有办法将任何日期格式MM/DD/YYYY
与时间一起转换为格式?我知道我可以使用DateTime.ParseExact()
,但它会再次使用特定的格式。
任何帮助是极大的赞赏。
谢谢分享你的智慧。
Convert.ToDateTime(DateTime.Now, CultureInfo.GetCultureInfo("en-US")).ToString("MM/dd/yyyy hh:MM:ss");
您可以将 en-US 替换为 hi-IN 用于印地语日期或根据您的喜好。请点击链接。文化信息。
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.80).aspx
如果您不确定文化,请使用下面的行。
Convert.ToDateTime(DateTime.Now, CultureInfo.CurrentCulture).ToString("MM/dd/yyyy hh:MM:ss");
参考这里http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture.aspx
您可以使用的其他方法是。
DateTime dt;
DateTime.TryParse(DateTime.Now.ToString(), out dt);
您可以尝试 DateTime.Parse 或 DateTime.TryParse 方法
DateTime.Parse(DateTime.Now).ToString("MM/dd/yyyy hh:mm tt");
另请参阅
http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
谢谢
迪普
您可以使用此代码。
public static CultureInfo CreateCulture(string shortDateFormat)
{
CultureInfo newCulture = CultureInfo.CreateSpecificCulture("en-US");
newCulture.DateTimeFormat.ShortDatePattern = shortDateFormat;
newCulture.DateTimeFormat.LongDatePattern = shortDateFormat;
return newCulture;
}
您可以为此创建一个扩展方法,您需要使用静态方法创建一个静态类。它将返回您在课堂上定义的日期格式
public static class DateExtension
{
public static string GetDateTime(this DateTime? date)
{
if (date.HasValue)
return date.Value.ToString("dd-MMM-yyyy hh:mm tt");
return string.Empty;
}
}
现在在您的代码中,您可以将此扩展用于例如 DateTime.GetDateTime() 它将返回带有您在扩展库类中指定的格式的时间的日期
string s;
s = dt.ToString("MM-dd-yyyy");
Console.WriteLine(s);//Displays 04-30-2012