在Windows Phone的c#中设置特定的日期格式

时间:2012-02-25 15:34:21

标签: c# windows-phone-7

这里有相对较新的Windows Phone开发人员,正在寻求帮助。基本上我正在搞乱我正在寻找最终投放市场的应用程序。

基本上应用程序正在倒计时到特定日期,我已经倒计时没有问题了,但是我确实遇到了日期格式的问题,因为我在英国并且日期格式是dd / MM / yyyy,而州是MM / dd / yyyy。因此该应用程序对美国的任何人都是负数。基本上我需要一些解决方法的帮助,无论是为我的应用程序设置通用日期格式还是类似的东西。这是倒计时的代码:

        DateTime startDate = DateTime.Now;
        var launch = DateTime.Parse("01/08/2012 00:00:00 AM");
        TimeSpan t = launch - startDate;

        Countdown.Text = string.Format("\r {0}\r Days \r {1}\r Hours \r {2}\r Minutes \r {3}\r Seconds", t.Days, t.Hours, t.Minutes, t.Seconds);

3 个答案:

答案 0 :(得分:2)

如果您对日期进行硬编码,那么您应该使用DateTime(int,int,int)构造函数,而不是从字符串中解析它。这三个参数将始终被解释为年,月,日(按此顺序)。

var launch = new DateTime(2012, 08, 11);

答案 1 :(得分:0)

DateTime的ToString()方法有一个带有自定义格式字符串的重载。

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

要求或建立用户区域并以正确的格式向他发送日期将非常简单。

除此之外,还有ToString的重载,它接受System.Globalization.CultureInfo对象,因此你可以做类似的事情。

myDateTime.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name));

这可以根据操作系统设置为您提供正确格式化用户区域的日期时间。

答案 2 :(得分:0)

您还可以通过设置当前区域性或使用CultureInfo格式化字符串来解析和格式化其他区域性的日期。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/5hh873ya.aspx