Flex 和 C# 中将 JavaScript gettime 返回的字符串转换为 DateTime 类型
在 Flex 中将字符串转换为 DateTime 类型,可以使用 DateFormatter 和 parseDateString 方法。例如:
var dateFormatter:DateFormatter = new DateFormatter();
dateFormatter.formatString = 'EEE MMM DD HH:NN:SS ZZZ YYYY';
var date:Date = dateFormatter.parseDateString(time);
在 C# 中将字符串转换为 DateTime 类型,可以使用 DateTime.ParseExact 方法,指定格式为 'ddd MMM dd HH:mm:ss UTCzzz yyyy'。例如:
string time = 'Mon Jun 26 08:56:33 UTC+0800 2023';
DateTime dateTime = DateTime.ParseExact(time, 'ddd MMM dd HH:mm:ss UTCzzz yyyy', CultureInfo.InvariantCulture);
关于字符串中的 + 号,如果它表示时区偏移量,可以使用 zzz 表示,如果不是,可以将其去掉。在这个示例中,+0800 表示东八区时区偏移量,可以使用 zzz 表示。
判断 + 号是否表示时区偏移量
可以通过以下方法判断:
- 查看 JavaScript gettime 方法的文档,了解该方法返回的字符串格式。
- 检查字符串中 + 号的位置和格式。如果 + 号紧跟在 UTC 之后,并且后面是四位数字,则表示时区偏移量。
注意:
- 在 Flex 中,使用 DateFormatter 时,formatString 需要与 JavaScript gettime 方法返回的字符串格式一致。
- 在 C# 中,使用 DateTime.ParseExact 时,指定的格式字符串也需要与 JavaScript gettime 方法返回的字符串格式一致。
原文地址: https://www.cveoy.top/t/topic/oV3T 著作权归作者所有。请勿转载和采集!