CasparGuo 发表于 2022-8-23 15:52:42

【报表-表达式】在报表中转化时间戳类型文本

本帖最后由 James.Lv 于 2023-1-5 18:03 编辑

在日常的使用中,有很多系统都会存在使用10位、13位的时间戳来保存日期时间,那么怎样在wyn中将时间戳转化为日期类型呢?

例如:
1616160878418
期望得到   2021-03-19 21:34:35
这样的格式

在这里我们就用到了我们的自定义函数的功能:

在我们管理后台-系统设置-报表设置-自定义函数中添加如下代码:
    /// <summary>
    /// 时间戳转换为DataTime
    /// </summary>
    /// <param name="unixTimeStamp"></param>
    /// <returns></returns>
    public DateTime TimestampToDataTime(long unixTimeStamp)
    {      
      System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当   地时区
      DateTime dt = startTime.AddSeconds(unixTimeStamp);
      System.Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss:ffff"));
      return dt;
    }


编译,保存后返回系统门户,
然后新建报表,使用表达式 在表达式中编写:
{Code.TimestampToDataTime(日期)}




这样就可以吧时间戳转化为日期格式进行使用了。


今天 你学到了吗?

页: [1]
查看完整版本: 【报表-表达式】在报表中转化时间戳类型文本