C# 将DateTime转换为ToString()的特定时区
在将C# 将DateTime转换为ToString()的特定时区,c#,date,datetime,timezone,format,C#,Date,Datetime,Timezone,Format,在将DateTime值写入文本文件时,我必须确保使用的时区始终为UTC+01:00。格式为yyyy-MM-ddTHH:MM:sszzz,其中zzz部分始终等于+01:00。这意味着,如果DateTime值不是UTC+01:00,则需要在写入输出之前进行转换 最好的方法是什么?来自: 使用DateTime值,“zzz”自定义格式说明符表示本地操作系统时区与UTC的有符号偏移量,以小时和分钟为单位。它不反映实例的System.DateTime.Kind属性的值。因此,不建议将“zzz”格式说明符用于
DateTime
值写入文本文件时,我必须确保使用的时区始终为UTC+01:00。格式为yyyy-MM-ddTHH:MM:sszzz
,其中zzz
部分始终等于+01:00
。这意味着,如果DateTime值不是UTC+01:00,则需要在写入输出之前进行转换
最好的方法是什么?来自:
使用DateTime
值,“zzz”自定义格式说明符表示本地操作系统时区与UTC的有符号偏移量,以小时和分钟为单位。它不反映实例的System.DateTime.Kind
属性的值。因此,不建议将“zzz”格式说明符用于DateTime
值
相反,可以使用DateTimeOffset
值(其中“zzz”执行您认为应该执行的操作),或者如果继续使用DateTime
值,则使用
例如,在我的计算机(位于美国太平洋时区)上:
- 在第1行,即使时间是UTC时间,偏移量也不正确地显示本地时间
- 在第2行,
说明符选择UTC种类,并在结果中正确地给出一个K
Z
- 在第3行,零偏移由
说明符正确地传递zzz
DateTime
值,“zzz”自定义格式说明符表示本地操作系统时区与UTC的有符号偏移量,以小时和分钟为单位。它不反映实例的System.DateTime.Kind
属性的值。因此,不建议将“zzz”格式说明符用于DateTime
值
相反,可以使用DateTimeOffset
值(其中“zzz”执行您认为应该执行的操作),或者如果继续使用DateTime
值,则使用
例如,在我的计算机(位于美国太平洋时区)上:
- 在第1行,即使时间是UTC时间,偏移量也不正确地显示本地时间
- 在第2行,
说明符选择UTC种类,并在结果中正确地给出一个K
Z
- 在第3行,零偏移由
说明符正确地传递zzz
DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:sszzz")
将导致错误。
请尝试以下方法:
DateTime.**Now**.ToString("yyyy-MM-ddTHH:mm:sszzz")
使用:
将导致错误。
请尝试以下方法:
DateTime.**Now**.ToString("yyyy-MM-ddTHH:mm:sszzz")
您对所讨论的DateTime
了解多少?如果你不知道它的偏移量,你就不能在一个特定的偏移量上表示这个瞬间……你对所讨论的DateTime
了解多少?如果你不知道它的偏移量,你就不能在一个特定的偏移量上表示这个瞬间。。。