Mik*_*ike 11 c# formatting timezone datetime
我需要格式化这样的日期: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));
Run Code Online (Sandbox Code Playgroud)
SwD*_*n81 10
这个怎么样:
.NET 4
var utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now);
Console.WriteLine(DateTime.UtcNow.ToString("yyyyMMddHHmmss") + ((utcOffset < TimeSpan.Zero) ? "-" : "+") + utcOffset.ToString("hhmm"));
Run Code Online (Sandbox Code Playgroud)
.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);
Run Code Online (Sandbox Code Playgroud)
去钢人(来自拉斯维加斯大道上的一个人)
| 归档时间: |
|
| 查看次数: |
13167 次 |
| 最近记录: |