Open jiangbin4586 opened 5 years ago
应该是yyyy-MM-dd,大小写有区别
大写也没用啊
不应该啊
STL在线解析 使用这个试试,反正我这边改成大写也一样,不起作用的
这个系统是c#写的,应该按照C#的时间格式啊
下面是C#中的定义啊 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM 月份的完整名称,在 MonthNames 中定义。
我也遇到这个问题了,顶上去,这个BUG貌似很多年了
翻了下源代码如下:
else if (type.ToLower().Equals("Date".ToLower()))
{
if (!pageInfo.BodyCodes.ContainsKey("datestring.js"))
{
pageInfo.BodyCodes.Add("datestring.js", "<script charset=\"utf-8\" src=\"" + SiteFilesAssets.GetUrl(pageInfo.ApiUrl, "scripts/datestring.js") + "\" type=\"text/javascript\"></script>");
}
value = "<script language=\"javascript\" type=\"text/javascript\">RunGLNL(false);</script>";
}
可以看到,插入了一段脚本,运行了一个函数,formatString根本不起作用
对下面这段模板代码在线解析
<stl:value type="date" formatString="yyyy"></stl:value>
结果如下:
<script charset="utf-8" src="/sitefiles/assets/scripts/datestring.js" type="text/javascript"></script><script language="javascript" type="text/javascript">RunGLNL(false);</script>
在控制台中直接运行 RunGLNL(false); 结果如下: 2020年8月8日 星期六 综上,时间不是C#生成的,而是js生成的,RunGLNL() 这个函数应该是生成公历或农历日期的意思,true为农历,false为公历
查看是否是服务器时间格式的问题。