有问题的代码如下:
public static string ChangePersianDate(DateTime dateTime)
{
System.Globalization.GregorianCalendar PC = new System.Globalization.GregorianCalendar();
PC.CalendarType = System.Globalization.GregorianCalendarTypes.USEnglish;
return
PC.GetYear(dateTime).ToString()
+ "/"
+ PC.GetMonth(dateTime).ToString()
+ "/"
+ PC.GetDayOfMonth(dateTime).ToString()
+ ""
+ PC.GetHour(dateTime).ToString()
+ ":"
+ PC.GetMinute(dateTime).ToString()
+ ":"
+ PC.GetSecond(dateTime).ToString()
+ " "
????????????????
}
如何从dateTime值中获得AM/PM ?
我知道这似乎有点晚了。然而,它可能会帮助一些人
我想要得到约会的上午下午部分,所以我使用了安迪的建议:
dateTime.ToString("tt");
我用那部分构造了一个路径来保存我的文件。
我建立了我的假设,我将得到AM或PM,没有其他!!
然而,当我使用PC时,它的文化不是英语。(对我来说是阿拉伯语)..我的应用程序失败,因为格式“tt”返回一些新的不是AM或PM (م或ص)..
所以解决这个问题的方法是忽略文化,添加第二个参数,如下所示:
dateTime.ToString("tt", CultureInfo.InvariantCulture);
..
当然你必须加上:使用System.Globalization;在你的文件上面
我希望这能帮助到一些人:)
我知道这似乎有点晚了。然而,它可能会帮助一些人
我想要得到约会的上午下午部分,所以我使用了安迪的建议:
dateTime.ToString("tt");
我用那部分构造了一个路径来保存我的文件。
我建立了我的假设,我将得到AM或PM,没有其他!!
然而,当我使用PC时,它的文化不是英语。(对我来说是阿拉伯语)..我的应用程序失败,因为格式“tt”返回一些新的不是AM或PM (م或ص)..
所以解决这个问题的方法是忽略文化,添加第二个参数,如下所示:
dateTime.ToString("tt", CultureInfo.InvariantCulture);
..
当然你必须加上:使用System.Globalization;在你的文件上面
我希望这能帮助到一些人:)