DateTime.UtcNow;
你这个方法 得不到后面的+0700(UTC)这一串啊
@Dellienware: DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff zz00 (UTC)");
@刘宏玺: 得到的是 2014-06-23 15:06:01.948 +0800 (UTC) 不是+0700(UTC) 是不是有问题啊?
@Dellienware: 时区选择错误,+8 是东八区,+7 是东七区,应该是曼谷等地。
@Launcher: 大神 那怎么改动 可以变成+700(UTC)啊
@Dellienware: 把你的操作系统的时区修改为曼谷
@Launcher: 这个是根据系统时间来变的是吧?那我就不用改了,客户那边的操作系统的时区应该是符合这个的
@Dellienware: 是的,你不用改,因为你已经标记为 UTC 了。不同时区都能得到相同的时间。
var tz = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo t in tz)
{
Console.WriteLine("Time Zone = " + t.DisplayName + " || Current DateTime = " + TimeZoneInfo.ConvertTime(DateTime.Now, t).ToString("yyyy-MM-dd HH:mm:ss.fff zzz"));
}
@Launcher: 那如果我想强行输出 +0700(UTC) 这个时区的时间,应该怎么做啊?怎么查到这个是哪个时区
@Dellienware:
var tz = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo t in tz)
{
Console.WriteLine("Time Zone = " + t.DisplayName + " || Current DateTime = " + TimeZoneInfo.ConvertTime(DateTime.Now, t).ToString("yyyy-MM-dd HH:mm:ss.fff zzz"));
}
string.Format("{0:yyyy-MM-dd HH:mm:ss.fff} {1}",DateTime,TimeZoneInfo.DisplayName);
static void Main(string[] args) { Console.WriteLine(ToGMTFormat(DateTime.Now));//2014-06-23 14:30:15.727 +0800 (UTC) Console.ReadKey(); } /// <summary> /// 本地时间转成GMT格式的时间 /// </summary> public static string ToGMTFormat(DateTime dt) { return dt.ToString("yyyy-MM-dd HH:mm:ss.fff ") + dt.ToString("zzz").Replace(":", "")+" (UTC)"; }