请问这道题怎么写?(任何编程语言都可以)

这道题没啥思路。。请问如何解决呢?任何编程语言写都可以请帮帮我谢谢,感觉是一种类型的转换,但是尝试了之后还是输出不对

img

可以用python来解这题,主要使用re和datetime库的相关函数。代码如下:

import datetime
import re
def conv(s,gap):
    d=datetime.datetime.strptime(s,'%Y-%m-%d %H:%M:%S')    
    r = re.findall('^([+-]\d+)[dD]|([+-]\d+)[Hh]|([+-]\d+)[Mm]|([+-]\d+)[Ss]',gap)
    print(r)
    try:
        day = int(r[0][0])
    except:day=0
    try:
        hour = int(r[1][1])
    except:hour=0
    try:
        minute = int(r[2][2])
    except:minute=0
    try:    
        second = int(r[3][3])
    except:second=0
    nd=d+datetime.timedelta(days=day,hours=hour,minutes=minute,seconds=second)
    return nd

ts='2021-09-13 00:00:00'
n=conv(ts,'+5d-3H')
print(n)
2021-09-17 21:00:00

如有帮助,请点击一下我回答的右上方采纳按钮给予采纳~~

根据分隔符拆分出时间的各项值,以及增减的项,可以全部转换成秒后进行变化,再转换为时间

如果完全不要求语言的话可以考虑调用成型的日期库,java和python我记得都有日期库,Calendar(java)和date(python)这两个库,这些库提供了成型的时间计算,你可以直接通过调库来做