为windows phone设置c#中的特定日期格式



这里是相对较新的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);

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

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

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

请参阅http://msdn.microsoft.com/en-us/library/5hh873ya.aspx了解更多信息。

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));

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

最新更新