如何在C#中获取UTC格式 [英] How to get UTC format in C#

查看:717
本文介绍了如何在C#中获取UTC格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在c#中获取UTC格式的日期时间并尝试使用以下代码但无法获得正确的值。



string ddd =2018-02- 28T18:10:13 + 08:00;

DateTime dt = new DateTime();

dt = Convert.ToDateTime(ddd);

// var datetime = new DateTime(dt,DateTimeKind.Local);

var text = dt.ToString(o);

Console.WriteLine(text );

//2018-02-28T15:40:13.0000000+05:30



获取此值:// 2018-02 -28T15:40:13.0000000 + 05:30

需要从日期删除0000000.



我的尝试:



string ddd =2018-02-28T18:10:13 + 08:00;

DateTime dt = new DateTime();

dt = Convert.ToDateTime(ddd);

// var datetime = new DateTime(dt,DateTimeKind.Local);

var text = dt.ToString( o);

Console.WriteLine(text);

//2018-02-28T15:40:13.0000000 + 05:30

Console.ReadKey();

解决方案

您不能从日期中删除0000000 - DateTime值不能像那样工作,它们存储为自特定时刻以来的一些刻度,所以你不能转储刻度!



但你可以格式化输出:

  string  text = dt.ToString(  s); 

将为您提供UTC格式:

 2018-02-18T12:10 :13 

UTC没有时区,所以它不会是+05:30

但这会加上它:

  string  text = dt.ToString(  YYYY-MM-DDTHH:MM:SSK); 


DateTime.UtcNow.ToUniversalTime();

I have tried to get UTC format datetime in c# and tried with below code but not able to get proper value.

string ddd = "2018-02-28T18:10:13+08:00";
DateTime dt = new DateTime();
dt = Convert.ToDateTime(ddd);
//var datetime = new DateTime(dt, DateTimeKind.Local);
var text = dt.ToString("o");
Console.WriteLine(text);
//2018-02-28T15:40:13.0000000+05:30

Getting this value : //2018-02-28T15:40:13.0000000+05:30
need to remove 0000000 from date.

What I have tried:

string ddd = "2018-02-28T18:10:13+08:00";
DateTime dt = new DateTime();
dt = Convert.ToDateTime(ddd);
//var datetime = new DateTime(dt, DateTimeKind.Local);
var text = dt.ToString("o");
Console.WriteLine(text);
//2018-02-28T15:40:13.0000000+05:30
Console.ReadKey();

解决方案

You can't "remove the 0000000 from the date" - DateTime values don't work like that, they are stored as a number of ticks since a particular moment in time, so you can't dump the ticks!

But you can format the output:

string text = dt.ToString("s");

Will give you the UTC format:

2018-02-18T12:10:13

UTC does not have a timezone, so it wouldn't be "+05:30"
But this will add it:

string text = dt.ToString("yyyy-MM-ddTHH:mm:ssK");


DateTime.UtcNow.ToUniversalTime();


这篇关于如何在C#中获取UTC格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆