Change Date Format in ASP

How do I chane the date from 11/12/2008 to 20081112 ?

THanks
LVL 1
wellsuitedAsked:
Who is Participating?
 
_savageCommented:
If you are looking for straight vbscript, then could use this. I fyoua re pulling from SQL, let mek now and I've a UDF you could use in the source query.
MsgBox(iso_date("11/12/2008"))
 
function iso_date(byval dt)
dim y: y = year(dt)
dim m: m=month(dt)
dim d: d=day(dt)
 
  if m < 10 then m="0" & m
  if d < 10 then d="0" & d
  
  iso_date = y & m & d
end function

Open in new window

0
 
_savageCommented:
Are you trying to do this on the fly in a page or is the date coming from a database?
0
 
wellsuitedAuthor Commented:
This would be coming from the database.
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
_savageCommented:
ok, well,  you could use the function I posted and pass the date variable in the page

or

below is the UDF (I am assuming you are using MS SQL Server). Its a sledgehammer for this, but as you can see, it accomodates a great many date and time conversions.

in the source query, you would call it like this:

SELECT dbo.FORMAT_DATETIME(YOURDATEFIELD, 'YYYYMMDD') as MYDATEVARNAME
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[FORMAT_DATETIME] 
( 
    @dt DATETIME, 
    @format VARCHAR(16) 
) 
RETURNS VARCHAR(64) 
AS 
BEGIN 
    DECLARE @dtVC VARCHAR(64) 
    SELECT @dtVC = CASE @format 
 
    WHEN 'LONGDATE' THEN 
        DATENAME(dw, @dt) 
        + ',' + SPACE(1) + DATENAME(m, @dt) 
        + SPACE(1) + CAST(DAY(@dt) AS VARCHAR(2)) 
        + ',' + SPACE(1) + CAST(YEAR(@dt) AS CHAR(4)) 
    WHEN 'LONGDATEANDTIME' THEN 
        DATENAME(dw, @dt) 
        + ',' + SPACE(1) + DATENAME(m, @dt) 
        + SPACE(1) + CAST(DAY(@dt) AS VARCHAR(2)) 
        + ',' + SPACE(1) + CAST(YEAR(@dt) AS CHAR(4)) 
        + SPACE(1) + RIGHT(CONVERT(CHAR(20), 
        @dt - CONVERT(DATETIME, CONVERT(CHAR(8), 
        @dt, 112)), 22), 11) 
    WHEN 'SHORTDATE' THEN 
        LEFT(CONVERT(CHAR(19), @dt, 0), 11) 
    WHEN 'SHORTDATEANDTIME' THEN 
        REPLACE(REPLACE(CONVERT(CHAR(19), @dt, 0), 
            'AM', ' AM'), 'PM', ' PM') 
    WHEN 'UNIXTIMESTAMP' THEN 
        CAST(DATEDIFF(SECOND, '19700101', @dt) 
        AS VARCHAR(64)) 
    WHEN 'YYYYMMDD' THEN 
        CONVERT(CHAR(8), @dt, 112) 
    WHEN 'YYYY-MM-DD' THEN 
        CONVERT(CHAR(10), @dt, 23) 
    WHEN 'YYMMDD' THEN 
        CONVERT(VARCHAR(8), @dt, 12) 
    WHEN 'YY-MM-DD' THEN 
        STUFF(STUFF(CONVERT(VARCHAR(8), @dt, 12), 
        5, 0, '-'), 3, 0, '-') 
    WHEN 'MMDDYY' THEN 
        REPLACE(CONVERT(CHAR(8), @dt, 10), '-', SPACE(0)) 
    WHEN 'MM-DD-YY' THEN 
        CONVERT(CHAR(8), @dt, 10) 
    WHEN 'MM/DD/YY' THEN 
        CONVERT(CHAR(8), @dt, 1) 
    WHEN 'MM/DD/YYYY' THEN 
        CONVERT(CHAR(10), @dt, 101) 
    WHEN 'DDMMYY' THEN 
        REPLACE(CONVERT(CHAR(8), @dt, 3), '/', SPACE(0)) 
    WHEN 'DD-MM-YY' THEN 
        REPLACE(CONVERT(CHAR(8), @dt, 3), '/', '-') 
    WHEN 'DD/MM/YY' THEN 
        CONVERT(CHAR(8), @dt, 3) 
    WHEN 'DD/MM/YYYY' THEN 
        CONVERT(CHAR(10), @dt, 103) 
    WHEN 'HH:MM:SS 24' THEN 
        CONVERT(CHAR(8), @dt, 8) 
    WHEN 'HH:MM 24' THEN 
        LEFT(CONVERT(VARCHAR(8), @dt, 8), 5) 
    WHEN 'HH:MM:SS 12' THEN 
        LTRIM(RIGHT(CONVERT(VARCHAR(20), @dt, 22), 11)) 
    WHEN 'HH:MM 12' THEN 
        LTRIM(SUBSTRING(CONVERT( 
        VARCHAR(20), @dt, 22), 10, 5) 
        + RIGHT(CONVERT(VARCHAR(20), @dt, 22), 3)) 
    ELSE 
        'Invalid format specified' 
    END 
    RETURN @dtVC 
END

Open in new window

0
 
wellsuitedAuthor Commented:
(year(datefield) & Month(datefield) & Day(datefield)) AS NewField
0
 
_savageCommented:
This was 'figured out' well after I posted *two* suitable solutions.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.