c# - 将 Java 日期字符串转换为 C# 日期时间

标签 c# java datetime

Possible Duplicate:
Parse DateTime with timezone of form PST/CEST/UTC/etc

好的,我有以下 Java 代码,可将 Date 对象转换为 String:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzz");
String str = dateFormat.format(new Date());
// outputs: 2012-12-17 15:44:57 CST

我正在通过线路将该字符串发送到用 C# 编写的 WebService。那么,考虑到以下内容不起作用,因为 C# 中的 zzz 不同,我该如何将该 String 解析回有效的 DateTime:

DateTime.ParseExact(parts[2], "yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture.DateTimeFormat);

在有人建议之前 - 我知道我可以使用 UTC 时间,但我需要这样做。

有什么想法吗?

最佳答案

CST 不是有效的 .NET 时区标识符。

在 .NET 中,这些都是数字偏移量 - +0700-0500 等...

如果您希望 .NET 解析它,则需要输出数字时区偏移量。

我建议在Java中使用yyyy-MM-dd HH:mm:ss Z,如here所示。 .

另一种方法是使用 string.ReplaceCST 转换为 -0600,但这既不可扩展,也可能会因命名时区的歧义(CST 可能意味着不同的时区,具体取决于您所在的位置)。

关于c# - 将 Java 日期字符串转换为 C# 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922833/

相关文章:

c# - 如何检查一个节点有多少个 child ?

java - 旋转 JButton 的文本

java - 如何在 Android 中读取用户输入?

java - Java 中的 Date Util 将以周、月、季度、年为单位展开日期范围

c# - 无法将 DateTime 的参数值从字符串转换为 Int32

ruby - 将字符串转换为 Ruby 日期时间

c# - UWP 奇数和偶数元素 ListBoxItem 的不同样式

c# - 如何使用 AJAX 创建/删除带有表单控件的表行?

c# - 在 Windows 8 上获取操作系统、平台和设备信息

PHP 日期时间值的 secondaryi 和 now() 与 mysql 的区别