C#DateTime to String Issue

C#DateTime to String Issue,第1张

概述我觉得这是我做过一千次的事情,所以不确定为什么现在这么困难.我创建了一个方法,根据用户的UTC偏移量简单地返回用户的今天日期.但是它不是返回类似日期的字符串,而是返回这个垃圾'䙭/䙭/Ἰ뻱䙭' 这是代码.public string getToday(Context context) { var settings = PreferenceManag

我觉得这是我做过一千次的事情,所以不确定为什么现在这么困难.我创建了一个方法,根据用户的UTC偏移量简单地返回用户的今天日期.但是它不是返回类似日期的字符串,而是返回这个垃圾

"䙭/䙭/Ἰ뻱䙭"

这是代码.

public string getToday(Context context){    var settings = PreferenceManager.GetDefaultSharedPreferences(context);    var offset = settings.GetInt("offset",-5);    var Now = DateTime.UtcNow.AddHours(offset);    return Now.ToShortDateString();}

当我使用断点进入代码时,偏移现在看起来都是正确的.现在包含所有看似准确的有效日期部分.关于将现在转换为字符串的事情似乎非常错误.还尝试过:

return Now.ToString("MM/dd/yyyy");

结果相同.奇怪的部分是下面的代码在另一个活动工作没有问题

var offset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;var Now = DateTime.UtcNow.AddHours(offset);Now.ToString("MM-dd-yyyy")
最佳答案我假设您的设备设置为中国/日本/韩国文化.如果您总想返回美国日期,请使用:

return Now.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);

编辑:鉴于你的其他评论,我开始怀疑这可能是由腐败或MonoDroID实现中的错误引起的.您可以尝试通过手动构建日期来解决它(尽管这无法解决您的问题的原因):

return string.Format("{0:00}/{1:00}/{2:0000}",Now.Month,Now.Day,Now.Year);
总结

以上是内存溢出为你收集整理的C#DateTime to String Issue全部内容,希望文章能够帮你解决C#DateTime to String Issue所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1139906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存