C# 我在本地系统中得到了正确的时间。但是在服务器i';我的约会时间不对
我在远程服务器中获取的时间不正确。我在本地系统中获取的日期时间正确。我们的服务器可能在其他国家/地区,如何获取我在本地系统中获取的正确日期时间 当地申请日期时间-2018年5月23日06:40:20 部署到服务器后的时间-C# 我在本地系统中得到了正确的时间。但是在服务器i';我的约会时间不对,c#,datetime,C#,Datetime,我在远程服务器中获取的时间不正确。我在本地系统中获取的日期时间正确。我们的服务器可能在其他国家/地区,如何获取我在本地系统中获取的正确日期时间 当地申请日期时间-2018年5月23日06:40:20 部署到服务器后的时间-2018年5月23日09:10:20上午 时间戳-2018-05-23T10:56:12.730Z 获取输出 23/05/2018 09:10:20 AM 预期产量 23/05/2018 06:40:20 PM 代码 数据类型 public class onem2m {
2018年5月23日09:10:20上午
时间戳-2018-05-23T10:56:12.730Z
获取输出
23/05/2018 09:10:20 AM
预期产量
23/05/2018 06:40:20 PM
代码
数据类型
public class onem2m {
public string dataFrame{ get; set; }
public string time { get; set; }
}
尝试使用
SimpleDataFormat
类和
TimeZone.getTimeZone("IST")
像这样的
string time = con.PayloadsUl.Timestamp.ToString();
DateTime utcdate = DateTime.ParseExact(time, "M/dd/yyyy
h:mm:ss tt",CultureInfo.InvariantCulture);
var istdate = TimeZoneInfo.ConvertTimeFromUtc(utcdate,
TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
当您显式地传递
dd
作为格式的开头时,为什么您希望输出以MM
开头?我最不关心开头的MM,我在寻找正确的时间,但我没有得到什么SimpleDateFormat
/时区
类?这在.NET Framework上是不存在的。@Camilo似乎是一个C#问题的java答案:-(@john我想象过,但我对Java的了解还不够,无法指出,即使这是Java,也强烈反对使用SimpleDateFormat
类,因为该类早已过时,而且出了名的麻烦。而且,你永远不应该依赖IST这样的三个字母的时区缩写。你无法知道Java是否会给你带来爱尔兰夏季Time、以色列标准时间或印度标准时间。字符串未被识别为有效的日期时间。我的时间值-23/05/2018 12:20:57+00:00
string time = con.PayloadsUl.Timestamp.ToString();
DateTime utcdate = DateTime.ParseExact(time, "M/dd/yyyy
h:mm:ss tt",CultureInfo.InvariantCulture);
var istdate = TimeZoneInfo.ConvertTimeFromUtc(utcdate,
TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));