C# 我们可以将UTC时间转换为24小时格式吗?如果是的话,怎么办?
我有两个不同的列来存储日期和时间。一个是保存日期,另一个是时间。在我使用当地时间之前,它工作得很好。现在我想为亚利桑那州设置这个时间,以便将日期时间转换为UTC时间,并使用时区信息的方法转换时间获取亚利桑那州的时间。 现在我的问题是,我可以用它来获取日期,但在我节省时间的同时,它以12小时的格式出现,我想把它转换成24小时。 我的代码是C# 我们可以将UTC时间转换为24小时格式吗?如果是的话,怎么办?,c#,asp.net,datetime,time,utc,C#,Asp.net,Datetime,Time,Utc,我有两个不同的列来存储日期和时间。一个是保存日期,另一个是时间。在我使用当地时间之前,它工作得很好。现在我想为亚利桑那州设置这个时间,以便将日期时间转换为UTC时间,并使用时区信息的方法转换时间获取亚利桑那州的时间。 现在我的问题是,我可以用它来获取日期,但在我节省时间的同时,它以12小时的格式出现,我想把它转换成24小时。 我的代码是 DateTime UniversalScheduleDate = Convert.ToDateTime(txtDate.Text).ToUniversalTim
DateTime UniversalScheduleDate = Convert.ToDateTime(txtDate.Text).ToUniversalTime();
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(Session["TimeZone"].ToString());
objSchdl.SDate = TimeZoneInfo.ConvertTime(UniversalScheduleDate, timeZoneInfo);
DateTime UniversalStartTime = Convert.ToDateTime(txtStartTime.Text).ToUniversalTime();
objSchdl.Stime = TimeZoneInfo.ConvertTime(UniversalStartTime, timeZoneInfo).ToString();
请帮帮我 尝试使用DateTimeParse和DateTimeKind.Utc转换 例如:
DateTime UniversalScheduleDate = DateTime.SpecifyKind(
DateTime.Parse(txtDate.Text),DateTimeKind.Utc);
string formattedDate = DateTime.UniversalScheduleDate.ToString("HH:mm:ss tt");
尝试使用DateTimeParse和DateTimeKind.Utc转换 例如:
DateTime UniversalScheduleDate = DateTime.SpecifyKind(
DateTime.Parse(txtDate.Text),DateTimeKind.Utc);
string formattedDate = DateTime.UniversalScheduleDate.ToString("HH:mm:ss tt");
您需要将时区信息与字符串表示分离。它们是完全正交的概念
听起来您可能只需要在ToString
调用中指定格式,例如
ToString("yyyy-MM-dd'T'HH:mm:ss", CultureInfo.InvariantCulture);
你也应该考虑用Spfic格式进行解析,并考虑使用哪种文化。
还要注意,由于夏令时转换,将本地时间转换为世界时间可能会有损。NET框架会让你相对痛苦地处理它,但是你应该记住这一点 最后,请注意,当您调用将使用系统本地时区进行转换的ToUniversalTime
时,这真的是您想要的吗?您需要将时区信息与字符串表示分开。它们是完全正交的概念
听起来您可能只需要在ToString
调用中指定格式,例如
ToString("yyyy-MM-dd'T'HH:mm:ss", CultureInfo.InvariantCulture);
你也应该考虑用Spfic格式进行解析,并考虑使用哪种文化。
还要注意,由于夏令时转换,将本地时间转换为世界时间可能会有损。NET框架会让你相对痛苦地处理它,但是你应该记住这一点最后,请注意,当您调用将使用系统本地时区进行转换的
ToUniversalTime
时,这真的是您想要的吗?将您的时间设置为12小时格式。在将其保存到DB之前,您可以使用以下脚本将其更改为24小时格式并保存
希望下面的代码对您有所帮助
Response.Write("With Seconds" + "<br />");
Response.Write("24 Hour Date Format : " + DateTime.Now.ToString("HH:mm:ss tt") + "<br />");
Response.Write("Without Seconds" + "<br />");
Response.Write("24 Hour Date Format : " + DateTime.Now.ToString("HH:mm tt") + "<br />");
Response.Write(“用秒“+”
);
Response.Write(“24小时日期格式:“+DateTime.Now.ToString”(“HH:mm:ss tt”)+”
);
响应。写入(“无秒”+“
”);
Response.Write(“24小时日期格式:”+DateTime.Now.ToString(“HH:mm tt”)+“
”);
以12小时的格式安排您的时间。在将其保存到DB之前,您可以使用以下脚本将其更改为24小时格式并保存
希望下面的代码对您有所帮助
Response.Write("With Seconds" + "<br />");
Response.Write("24 Hour Date Format : " + DateTime.Now.ToString("HH:mm:ss tt") + "<br />");
Response.Write("Without Seconds" + "<br />");
Response.Write("24 Hour Date Format : " + DateTime.Now.ToString("HH:mm tt") + "<br />");
Response.Write(“用秒“+”
);
Response.Write(“24小时日期格式:“+DateTime.Now.ToString”(“HH:mm:ss tt”)+”
);
响应。写入(“无秒”+“
”);
Response.Write(“24小时日期格式:”+DateTime.Now.ToString(“HH:mm tt”)+“
”);
是的,我想将其转换为亚利桑那州的时区,我在CultureInfo上遇到了错误。要为其添加什么名称?@raman:您是否尝试查看文档?搜索“msdn CultureInfo”会很快找到它。我知道你想把它转换成亚利桑那州的时区,但是你最初的ToUniversalTime()
电话呢?这将它从系统时区转换过来…谢谢我在谷歌上搜索了它。。谢谢你帮我raman 1小时前是的,我想把它转换成亚利桑那州的时区,我在CultureInfo上遇到了错误。要为它添加什么名称?@raman:你试过查看文档了吗?搜索“msdn CultureInfo”会很快找到它。我知道你想把它转换成亚利桑那州的时区,但是你最初的ToUniversalTime()
电话呢?这将它从系统时区转换过来…谢谢我在谷歌上搜索了它。。谢谢你帮我raman 1小时前的CultureInfo命名空间系统.Globalization.CultureInfo命名空间系统.Globalization.CultureInfo示例前面的文本在这里非常不相关-是格式字符串将其转换为24小时格式。。。虽然您还包括AM/PM指示符(24小时时为奇数),并且没有指定区域性,但对于自定义格式字符串来说也是奇数。也不清楚原始输入是否表示世界时。示例前面的文本在这里非常不相关-是格式字符串将其转换为24小时格式。。。虽然您还包括AM/PM指示符(24小时时为奇数),并且没有指定区域性,但对于自定义格式字符串来说也是奇数。也不清楚原始输入是否表示世界时间。