Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted
itsalkskeith
Level I

Converting Date from String format (d/m/y) to Numeric value (ddMonyyyy)

I have a String column with date values in format "d/m/y",Date Capture.PNG

however when converting via jsl using the following script:

Column( dt, "Date" ) << data type( numeric );
Column( dt, "Date" ) << Set modeling type( "Continuous" );
Column( dt, "Date" ) << Format( "ddMonyyyy" );

Date change capture.PNG

it returns it in the correct "ddMonyyyy" format, but it has swapped month with day so instead of seeing 05May2018 it shows 05Sep2018.

 

From executing the script line by line I can see that when it converts the data type from string to numeric the value that gives a value of 3618950400, which corresponds to 05Sep2018, I believe this is due to jmp interpreting m/d/y as being the regional date and time settings (which I cannot change).

 

However if I go to change the Date columns format manually I can get the correct Date outputDate last capture.PNG

I can correct this by manipulating the string and swapping the day and month with one another but this is far from desireable.

 

Is there any other way of achieving this using JSL?

 

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Jeff_Perkinson
Community Manager Community Manager

Re: Converting Date from String format (d/m/y) to Numeric value (ddMonyyyy)

The <<Data Type() message will take the Format() and Input Format() as well, so you can do it all in one step.

 

:Date << data type( "numeric", Format( "ddMonYYYY" ), Input format( "ddmmyyyy" ) );
-Jeff

View solution in original post

1 REPLY 1
Highlighted
Jeff_Perkinson
Community Manager Community Manager

Re: Converting Date from String format (d/m/y) to Numeric value (ddMonyyyy)

The <<Data Type() message will take the Format() and Input Format() as well, so you can do it all in one step.

 

:Date << data type( "numeric", Format( "ddMonYYYY" ), Input format( "ddmmyyyy" ) );
-Jeff

View solution in original post

Article Labels

    There are no labels assigned to this post.