Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 310
  • Last Modified:

How do I seperate date from time in appointment file sent from asp?

I have a code (attached) that sends an appointment...I need to know how to make it show the start time and end time properly.  Right now it's adding an all day time the day before.

As you can see from the code, it pulls the date from the form field, but I need to have it seperate it from the time (another field).  How do I do that?

Thanks!
Kevin
Dim fso, file, filename, tmpName, startDate, endDate, uniqueID
Dim yourEmail, smtpServer
 
yourEmail = "me@company.com"
smtpServer = "mail.company.com"
 
Set fso = Server.CreateObject("Scripting.FileSystemObject")
 
' Get a temporary filename on the web server where we can write the iCalendar
' format file.
tmpName = fso.GetTempName() & ".ics"
filename = Server.MapPath(".") & "\" & tmpName
 
' Get the start and end dates of the event (GMT).
startDate = request.form("startdate")
endDate = request.form("startdate")
 
' Get a unique ID to assign to the calendar event.
uniqueID = FormatDateTime(Now()) & "-" & tmpName & "-@" &_
   Request.ServerVariables("SERVER_NAME")
 
Set file = fso.CreateTextFile(filename)
 
' Write the iCalendar file to the file system.
file.WriteLine "BEGIN:VCALENDAR"
file.WriteLine "PRODID:-//ASP iCalendar Test//My ASP App V1.0//EN"
file.WriteLine "VERSION:2.0"
file.WriteLine "METHOD:REQUEST"
file.WriteLine "BEGIN:VEVENT"
file.WriteLine "ORGANIZER:MAILTO:onboarding@msssolutions.com"
file.WriteLine "DTSTART:" & FormatDateTime(startDate)
file.WriteLine "DTEND:" & FormatDateTime(endDate)
file.WriteLine "LOCATION:At the office"
file.WriteLine "TRANSP:OPAQUE"
file.WriteLine "SEQUENCE:0"
file.WriteLine "UID:" & uniqueID
file.WriteLine "DTSTAMP:" & FormatDateTime(Now())
file.WriteLine "DESCRIPTION:My calendar event test."
file.WriteLine "SUMMARY:Valentine's Day Party"
file.WriteLine "PRIORITY:5"
file.WriteLine "CLASS:PUBLIC"
file.WriteLine "BEGIN:VALARM"
file.WriteLine "TRIGGER:-PT15M"
file.WriteLine "ACTION:DISPLAY"
file.WriteLine "END:VALARM"
file.WriteLine "END:VEVENT"
file.WriteLine "END:VCALENDAR"
 
file.Close()
 
' Send the iCalendar file as an email attachment.
Dim mail
Set mail = CreateObject("CDO.Message")
 
' Configure to use an external mail server (2), supply its domain name or IP
' address (your.smtp.server), and tell it which port to use (usally 25).
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
mail.Configuration.Fields.Update()
 
' Set up the email message body.
mail.Subject = "New Hire " & request.form("namelast") & request.form("namefirst")
mail.From = "onboarding@msssolutions.com"
mail.To = yourEmail
mail.TextBody = "A new hire has been posted.  Please go to http://fs04sql/newhire/allnew.asp for more information." & chr(10) & chr(10) & "Name: " & request.form("namelast") & " " & request.form("namefirst") & chr(10) & "Start Date: " & request.form("startdate") & chr(10) & "Position: " & request.form("position") & chr(10) & "Division: " & request.form("division")
 
' Prepare the file attachment (the iCalendar file).
Dim att
Set att = mail.AddAttachment(filename)
att.ContentClass = "urn:content-classes:calendarmessage"
att.Fields.Item("urn:schemas:mailheader:content-type") = "text/calendar; method=REQUEST; name=""invite.ics"""
att.Fields.Item("urn:schemas:mailheader:content-disposition") = ""
att.Fields.Item("urn:schemas:mailheader:content-transfer-encoding") = "8bit"
att.Fields.Update()
 
' Set the content type of the email and send it.
mail.Fields.Item("urn:schemas:mailheader:content-type") = "multipart/alternative"
mail.Fields.Update()
mail.Send()
 
' Cleanup the file.
fso.DeleteFile filename, True
 
Set mail = Nothing
Set file = Nothing
Set fso = Nothing
 
' Utility function for date/time formatting.
Public Function FormatDateTime(dateTime)
   FormatDateTime = _
      Year(dateTime) &_
      Right("0" & Month(dateTime), 2) &_
      Right("0" & Day(dateTime), 2) &_
      "T" &_
      Right("0" & Hour(dateTime), 2) &_
      Right("0" & Minute(dateTime), 2) &_
      Right("0" & Second(dateTime), 2) &_
      "Z"
End Function

Open in new window

0
Kevin Smith
Asked:
Kevin Smith
  • 3
  • 2
1 Solution
 
AlexPaceCommented:
Well you shouldnt write your own function with the same name as the ASP funciton you'll actually want to use.

startDate = request.form("startdate")
If IsDate(startDate) Then
  startTime = FormatDateTime(startDate, 3)
End If

endDate = request.form("startdate")
if IsDate(endDate) Then
  startTime = FormatDateTime(endDate, 3)
End If
0
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
i would remove your FormatDateTime function and use the built in one:

http://www.w3schools.com/vbScript/func_formatdatetime.asp

That should give you the different formats you need.
0
 
Kevin SmithAuthor Commented:
good point Alex...

BigD...so I remove the innards and just stick with

' Utility function for date/time formatting.
Public Function FormatDateTime(dateTime)
  End Function

??
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
Kevin SmithAuthor Commented:
And how would I default the end time to 1 hour after?
0
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
asp has a built in function called FormatDateTime, so if you create one yourself, it'll over-ride it. I suggest removing it totally from your code or commenting it out. Then you can use Alex's syntax for what you need.

to add an hour to a time, you'll want to use the DateAdd function:

endTime = "12:30:00 am"
endTime = DateAdd( "h", 1, endTime )
0
 
Kevin SmithAuthor Commented:
thanks to you as well bigdaddy
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now