西虹市网

标题: 懂得:FineReport----日期处理 [打印本页]

作者: liukai    时间: 2022-6-11 22:18
标题: 懂得:FineReport----日期处理
  DATEDIF(start_date,end_date,unit):返回两个指定日期间的天数、月数或年数。数据分析https://www.finebi.com/productFineReport是一款高效易用的企业级Web报表工具,可视化拖拽操作即可制作中国式复杂报表,帮助软件公司加快项目进度,帮助企业搭建报表中心,轻松维护,及时响应业务需求。

  Start_date:代表所指定时间段的初始日期。

  End_date:代表所指定时间段的终止日期。

  Unit:函数返回信息的类型。

  若unit=“Y”,则DATEDIF返回指定时间段的年差数。

  若unit=“M”,则DATEDIF返回指定时间段的月差数。

  若unit=“D”,则DATEDIF返回指定时间段的日差数。

  若unit=“MD”,则DATEDIF忽略年和月,返回指定时间段的日差数。

  若unit=“YM”,则DATEDIF忽略年和日,返回指定时间段的月差数。

  若unit=“YD”,则DATEDIF忽略年,返回指定时间段的日差数。

  示例:

  DATEDIF("2001/2/28","2004/3/20","Y")等于3,即在2001年2月28日与2004年3月20日之间有3个整年。

  DATEDIF("2001/2/28","2004/3/20","M")等于36,即在2001年2月28日与2004年3月20日之间有36个整月。

  DATEDIF("2001/2/28","2004/3/20","D")等于1116,即在2001年2月28日与2004年3月20日之间有1116个整天。

  DATEDIF("2001/2/28","2004/3/20","MD")等于8,即忽略月和年后,2001年2月28日与2004年3月20日的差为8天。

  DATEDIF("2001/1/28","2004/3/20","YM")等于2,即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月。

  DATEDIF("2001/2/28","2004/3/20","YD")等于21,即忽略年后,2001年2月28日与2004年3月20日的差为21天。

  例子

  1、如日期为29、30、31 ,返回当月29号,如日期1~28,返回上个月的29

  if(day($日期)='29' || day($日期)='30' ||  day($日期)='31',dateinmonth($日期, 29),DATEINMONTH(MONTHDELTA($日期,-1),29))

  2、如两个日期之间的持续天数

  DATEDIF(if(day($日期)='29' || day($日期)='30' ||  day($日期)='31',dateinmonth($日期, 29),DATEINMONTH(MONTHDELTA($日期,-1),29)),$日期,"D")+1

  日期格式转换

  FORMAT(TODATE($日期,"yyyy年MM月"),"yyyy年MM月")


作者: 饭店逃跑的鱼    时间: 2022-8-23 11:24
谢谢楼主,共同发展
作者: 樱桃小犊子    时间: 2022-10-26 11:30
找到好贴不容易,我顶你了,谢了
作者: 铁木真    时间: 2022-12-4 15:26
昌平的网上家园 哈哈 平台不错啊
作者: 黑哥    时间: 2022-12-12 11:59
有道理。。。
作者: liukai    时间: 2022-12-21 16:04
昌平的网上家园 哈哈 平台不错啊
作者: 以身作哲    时间: 2022-12-26 23:54
昌平的网上家园 哈哈 平台不错啊




欢迎光临 西虹市网 (http://bbs.xihong021.cn/) Powered by Discuz! X3