#Requires AutoHotkey v2.0
sDate := "2023年12月13日 10:46"
sDate := "昨天 10:46"
sDate := "星期五 10:46"
MsgBox WeChatDate(sDate)  ; 返回相对于这周的星期五和昨天的日期


WeChatWeek(sWeek){		;~ 计算星期差
  一:=1, 二:=2, 三:=3, 四:=4, 五:=5, 六:=6, 日:=7, 天:=7
  RegExMatch(sWeek,"(?:星期|周)(.)",&SubPat)
  return %SubPat[1]%
}

WeChatDate(sDate){      ;~ 判断当前两个星期之间的相差天数
  if InStr(sDate,"星期") {
    n:= WeChatWeek(sDate)-WeChatWeek(FormatTime(, "ddd"))
    sDate:= DateAdd(A_Now, n, "days")
  }
  else if InStr(sDate,"昨天")
    sDate:= DateAdd(A_Now, -1, "days")
  else
    sDate := Format("{}{:02}{:02}{:02}{:02}",StrSplit(sDate,["年","月","日",":"]," ")*)
  sDate := FormatTime(sDate, "yyyy/MM/dd")
  return sDate
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。