这里是相对较新的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了解更多信息。
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
这将是相当简单的要求,或建立用户区域,并以正确的格式发送日期给他。
除此之外,还有一个ToString重载,它接受System.Globalization.CultureInfo对象,因此您可以执行类似的操作。
myDateTime.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name));
这将根据操作系统设置为用户区域提供正确格式的日期时间。