问题发布与回答 发表于 2019-3-28 11:09:53

关于如何自定义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))
修改之后,就可以用来独立显示年月日了。
还可以通过判断{if:[<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
这样调用是显示的就是英文的月份了。

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

作者:您好小耗子
链接:https://www.jianshu.com/p/f86e236ca77c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
页: [1]
查看完整版本: 关于如何自定义Aspcms的日期显示的样式