我已经在我们的 asp.net 应用程序中实现了 highcharts,并按照下面的带有 dateformat 属性的设置工具提示。
tooltip: {
xDateFormat: '%d/%m/%Y %H:%M:%S'
//xDateFormat: '<% = _DateFormat %>'
}
现在我想根据最终用户的文化设置显示它,并为此制作一个功能和属性,并按照下面的方式在页面加载中设置它
_dateFormat = "%d/%m/%Y %H:%M:%S";//
//_dateFormat = General.GetUserCulture().DateTimeFormat ; how to convert to above format
在上述情况下,我如何将文化的 datetimeformat 转换为 highchart 的 datetimeformat 字符串?
更新
对于 HighChart 以下是格式模式列表
- %a:工作日很短,比如“周一”。
- %A:工作日长,例如“星期一”。
- %d:两位数的月份日期,01 到 31。
- %e:一个月中的第几天,从 1 到 31。
- %b:短月,如“Jan”。
- %B:长月,例如“一月”。
- %m:两位数的月份编号,01 到 12。
- %y:两位数年份,如 09 表示 2009 年。
- %Y:四位数年份,如 2009 年。
- %H:两位数小时,24 小时格式,00 到 23。
- %I:两位数小时,12h 格式,00 到 11。
- %l(小写 L):12h 格式的小时,从 1 到 11。
- %M:两位数分钟,00 到 59。
- %p:大写 AM 或 PM。
- %P:小写 AM 或 PM。
- %S:两位数秒,00 到 59
因此,如果我将使用替换(根据@Ruchit 此处的答案),那么在我无法达到我的预期之后,因为如果您考虑下面的代码,那么一种格式是正确的,而另一种格式是错误的
_dateFormat = format.ShortDatePattern + " " + format.LongTimePattern;
_dateFormat = _dateFormat.Replace("yyyy", "%Y")
.Replace("yy", "%y")
.Replace("MMMM", "%B")
.Replace("MMM", "%b")
.Replace("MM", "%m")
.Replace("M", "%m")
.Replace("dddd", "%A")
.Replace("ddd", "%a")
.Replace("dd", "%d")
.Replace("HH", "%H")
.Replace("mm", "%M")
.Replace("ss", "%S");
所以我想为此找到适用于所有格式的通用解决方案。如果有人发现有用的东西,请帮助我!
提前致谢。