首页 / C#开发 / 正文

C#/.NET怎么样将UTC时间转换成美国东部时间(EST)

12850 发布于: 2015-11-05 读完约需5分钟
C#/.NET将UTC时间转换成美国东部时间(EST)时,我们需要使用到.NET Framework中与时区有关的TimeZoneInfo类的静态方法:FindSystemTimeZoneById("时区名称");然后再用TimeZoneInfo的静态方法:TimeZoneInfo.ConvertTimeFromUtc()将UTC时间转换成指定时区中的时间,具体示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      DateTime easternTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, easternZone);
      Console.WriteLine("Local Time:{0}", DateTime.Now);
      Console.WriteLine("UTC Time:{0}", DateTime.UtcNow);
      Console.WriteLine("EST Time:{0}", easternTime);

      Console.ReadKey();
    }
  }
}
运行结果如下: convert-utc-to-est-01 如果我们还需要将上例转换得到的EST时间格式化成ISO 8601格式的,又应该怎么做呢?答案有很多种,这里列举其中一种,即使用DateTime.ToString()方法,还是把完整的示例代码贴出来:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      DateTime easternTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, easternZone);
      Console.WriteLine("Local Time:{0}", DateTime.Now);
      Console.WriteLine("UTC Time:{0}", DateTime.UtcNow);
      Console.WriteLine("EST Time:{0}", easternTime);

      Console.WriteLine("{0}", easternTime.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'z'"));

      Console.ReadKey();
    }
  }
}
运行结果如下图: convert-utc-to-est-02  

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 关系数据库SQL Server,MySQL,Sqlite按日期查询最近的一条记录SQL查询语句汇总

下一篇: IIS中访问.json文件出现找不到文件的404错误及解决方案

本文永久链接码友网 » C#/.NET怎么样将UTC时间转换成美国东部时间(EST)

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册