求计算日期的几行代码,该如何解决

求计算日期的几行代码
要有一个输入框,一个显示框,当输入1225这样的数字然后按回车后生成2010-12-25这样的格式显示出来,并且将2010-12-25写进剪贴板,当输入的数字为两位数,比如60,那么就从当前的系统时间第二天开始往后推迟60天,得到的日期也以2010-XX-XX这样的生成。
当输入四位数字的前两位小于10(现在是10月),比如0213这种,那就生成2011-02-13,这种。
求高手给我代码,谢谢!

------解决方案--------------------
VB code
Private Sub Command1_Click()

mydate = Trim(Text1.Text)
If Len(mydate) = 4 Then
    mydate = "2010" & "-" & Mid(mydate, 1, 2) & "-" & Mid(mydate, 3, 2)
    Text2.Text = mydate
    Clipboard.SetText (mydate)
    Exit Sub
End If

If Len(mydate) = 2 Then
    mydate = Date - mydate
    Text2.Text = mydate
    Clipboard.SetText (mydate)
    Exit Sub
End If
End Sub

------解决方案--------------------
是啊,需求的逻辑不严密...
按你大概意思给你个思路,注意如下示例代码如果你输入的月份大于12,或者日期大于当月的最大日子,则返回的日期会按DateSerial函数的规则进位...
VB code

Function GetDate(ByVal strNum As String) As String

    Dim dtYear As Long, dtMonth As Long, dtDay As Long
    
    If Not IsNumeric(strNum) Then Exit Function
    dtYear = Year(Date)     '当前年份
    Select Case Len(strNum)
        Case 4
            dtMonth = Mid(strNum, 1, 2)                 '得到输入的月
            dtDay = Mid(strNum, 3)                      '得到输入的日
            dtYear = dtYear - (dtMonth < Month(Date))   '输入月份小于当前月份,加1年
        Case 2
            dtMonth = Month(Date)
            dtDay = Day(Date) + 1 + Val(strNum)         '由第二日起加上输入的天数
        Case Else
            GetDate = "输入的字符串" & strNum & "无效"
            Exit Function
    End Select
    GetDate = Format(DateSerial(dtYear, dtMonth, dtDay), "yyyy-MM-dd")

End Function

Private Sub Form_Activate()
    Text1.Text = ""
    Text2.Text = ""
    Text1.SetFocus
    Me.KeyPreview = True
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim strNum As String
    If KeyCode = vbKeyReturn Then
        strNum = Text1.Text
        Text2.Text = GetDate(strNum)
        Clipboard.SetText Text2.Text
        Text1.Text = ""
    End If
End Sub