我从以阿拉伯unicode出现的设备获取UTC时间。如何将这种格式转换为DateTime对象?
这是日期格式的示例:٢٠١٤-١٢-٢٨T٢١:٤١:٥٨Z
出于好奇,它应该翻译为:2014/12/28 21:41:58
组合如何将阿拉伯数字转换为int?以及如何从ISO 8601格式创建.Net DateTime:
static void Main(string[] args)
{
string input = "٢٠١٤-١٢-٢٨T٢١:٤١:٥٨Z";
string output = ReplaceArabicNumerals(input);
var dateTime = DateTime.Parse(output, null, DateTimeStyles.AssumeUniversal);
Console.WriteLine(output);
Console.WriteLine(dateTime.ToString("u"));
Console.ReadKey();
}
public static string ReplaceArabicNumerals(string input)
{
string output = "";
foreach (char c in input)
{
if (c >= 1632 && c <= 1641)
{
output += Char.GetNumericValue(c).ToString();
}
else
{
output += c;
}
}
return output;
}
产量2014-12-28T21:41:58Z
和2014-12-28 21:41:58Z
。
ReplaceArabicNumerals()
方法说明:当检测到阿拉伯语-印度数字(在代码点1632(0)和1641(9)之间)时,它请求字符的数值。这会将.NET可以解析的东阿拉伯数字转换为西阿拉伯数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句