0

我在使用不同的日期格式时遇到了困难。我有一个使用asp.net c#. 我使用JQuery了日历控件,它显示日期和时间。

然后我使用DateTime.Parse(). 如果服务器设置为印度日期格式,则应用程序会生成转换错误“字符串未被识别为有效日期时间”。

有没有办法将任何日期格式MM/DD/YYYY与时间一起转换为格式?我知道我可以使用DateTime.ParseExact(),但它会再次使用特定的格式。

任何帮助是极大的赞赏。

谢谢分享你的智慧。

4

5 回答 5

2
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);
于 2012-04-30T11:06:48.520 回答
1

您可以尝试 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

谢谢

迪普

于 2012-04-30T11:11:39.643 回答
0

您可以使用此代码。

public static CultureInfo CreateCulture(string shortDateFormat)
{

        CultureInfo newCulture = CultureInfo.CreateSpecificCulture("en-US");
        newCulture.DateTimeFormat.ShortDatePattern = shortDateFormat;
        newCulture.DateTimeFormat.LongDatePattern = shortDateFormat;

        return newCulture;
}
于 2012-04-30T12:01:29.920 回答
0

您可以为此创建一个扩展方法,您需要使用静态方法创建一个静态类。它将返回您在课堂上定义的日期格式

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() 它将返回带有您在扩展库类中指定的格式的时间的日期

于 2012-04-30T12:52:06.270 回答
0
string s;  
 s = dt.ToString("MM-dd-yyyy");
Console.WriteLine(s);//Displays 04-30-2012
于 2012-04-30T15:25:10.377 回答