关于如何自定义 Aspcms 的日期显示的样式

1、找到文件:inc/AspCms_CommonFun.asp

搜索:Function formatDate(Byval t,Byval ftype)
找到

      select case cint(ftype)    case 1
        ' yyyy-mm-dd
        formatDate=y & "-" & m & "-" & d
    case 2      
        ' yy-mm-dd
        formatDate=right(y,2) & "-" & m & "-" & d    case 3      
        ' mm-dd
        formatDate=m & "-" & d
    case 4
        ' yyyy-mm-dd hh:mm:ss
        formatDate=y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s    
    case 5
        ' hh:mm:ss
        formatDate=h & ":" & mi & ":" & s
    case 6
        ' yyyy年mm月dd日
        formatDate=y & "年" & m & "月" & d & "日"
    case 7
        ' yyyymmdd
        formatDate=y & m & d
    case 8
        'yyyymmddhhmmss
        formatDate=y & m & d & h & mi & s        end select

然后在 case 8后添加

    case 9        ' y
        formatDate=y
    case 10
        ' m
        formatDate=m    case 11        ' d
        formatDate=d
2、找到文件:inc/AspCms_MainClass.asp

搜索:case "date"
找到

    case "yy-m-d"
        nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj(6),1))    case "y-m-d"
        nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj(6),2))    case "m-d"
        nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj(7),3))    end select

然后在 case "m-d"后添加

   case "new"
                nloopstr = replace(nloopstr,matchfield.value, datediff("d",rsObj("AddTime"),now()))   case "yy"
                nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj("AddTime"),9))   case "mm"
                nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj("AddTime"),10))   case "dd"
                nloopstr = replace(nloopstr,matchfield.value,FormatDate(rsObj("AddTime"),11))

修改之后,就可以用 [list:date style=yy][list:date style=mm][list:date style=dd] 来独立显示年月日了。
还可以通过判断 {if:[[list:date style=new]<7]}class=new{end if} 来为最近 7 天更新的新闻增加样式或者 new 图标了。

如果还想显示英文的月份,就需要 AspCms_CommonFun.asp 中的 case 10 的内容。

打开inc/AspCms_CommonFun.asp

搜索:Function formatDate(Byval t,Byval ftype)
找到

  case 10       ' m
       formatDate=m

修改case 10为:

   case 10        ' m
        select case m
            case 1
            m="January"
            case 2
            m="February"
            case 3
            m="March"
            case 4
            m="April"
            case 5
            m="May"
            case 6
            m="June"
            case 7
            m="July"
            case 8
            m="August"
            case 9
            m="September"
            case 10
            m="October"
            case 11
            m="November"
            case else
            m="December"
        end select
        formatDate= m

这样调用 [list:date style=mm] 是显示的就是英文的月份了。

怎么样,是不是很简单,轻轻松松就可以定义自己想要的日期时间的样式了。

打赏

取消

感谢支持 Savalone !

扫码支持

打开支付宝扫一扫,即可进行扫码打赏哦


「本文由 Savalone 原创或搜集整理发布,转载请遵守 CC BY-NC-ND 4.0 许可!」
  • 24