c# - 获取格式化字符串以表示 UTC 偏移量的最佳方法是什么?

我需要像这样格式化日期:20110202192008-0500。以下代码可以解决问题,但我想知道在 c# 3.5 中是否有更好/更清洁的方法来做到这一点。谢谢!!

  var date = DateTime.Now;
  var strDate = TimeZoneInfo.ConvertTimeToUtc(date).ToString("yyyyMMddHHmmss");
  var offsetHours = TimeZoneInfo.Local.GetUtcOffset(date).Hours.ToString("00");
  var offsetMinutes = TimeZoneInfo.Local.GetUtcOffset(date).Minutes.ToString("00");
  Console.Write(string.Concat(strDate, offsetHours, offsetMinutes));

最佳答案

这个怎么样:

.NET 4

 var utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now);
 Console.WriteLine(DateTime.UtcNow.ToString("yyyyMMddHHmmss") + ((utcOffset < TimeSpan.Zero) ? "-" : "+") + utcOffset.ToString("hhmm"));

.NET 3.5

 var utcAlmostFormat = DateTime.UtcNow.ToString("yyyyMMddHHmmss") + TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now);
 var utcFormat = System.Text.RegularExpressions.Regex.Replace(utcAlmostFormat, @"(\d\d):(\d\d):(\d\d)",@"$1$2");
 Console.WriteLine(utcFormat);

Go Steelers(来自拉斯维加斯大道的一个人)

https://stackoverflow.com/questions/4878859/

相关文章:

javascript - 从字符串,javascript 中获取 x 像素值文本的最可靠方法

java - 任何可用于 java 文件的命令行格式工具?

layout - 更改 latex 文档中间的纸张尺寸?

python - 将列表格式化为表格输出的列(python 3)

ruby-on-rails - Ruby on Rails 中的自定义格式

algorithm - 如何有效地为特定宽度的字符串找到理想的列数?

c++ - clang-format:总是打破所有参数,每行一个

SQL Server 2005 For XML Explicit - 需要帮助格式化

java - Eclipse 格式化程序 : can it ignore annotations?

html - 动态生成的 HTML 的格式 - 没人关心吗?