Chad2 Posted February 23, 2012 Posted February 23, 2012 Is the following an issue or the desired results?When using _DateTimeSplit() 2 digit days or months are given but the return is a single digit. This can be seen in the help example for _DateTimeSplit.#include <Date.au3> Local $MyDate, $MyTime _DateTimeSplit("2005/01/01 14:30", $MyDate, $MyTime) For $x = 1 To $MyDate[0] MsgBox(0, $x, $MyDate[$x]) Next For $x = 1 To $MyTime[0] MsgBox(0, $x, $MyTime[$x]) NextThe return shows: Month = 1 and Day = 1I would expect it to show: Month = 01 and Day = 01.This is keeping with the format of most the other date functions and the more importantly the input.Thanks for your response.FYI - I searched the forum and the Bug reports but did not see this issue.
Solution BrewManNH Posted February 23, 2012 Solution Posted February 23, 2012 It appears that the _DateTimeSplit function is turning the string returned in the array into a number, which is why you don't get the leading 0. You'd need to reformat it to display it with the leading 0 if needed, StringFormat would be needed for that. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Chad2 Posted February 23, 2012 Author Posted February 23, 2012 Thanks for the tip on using StringFormat(). Is there a better way to do it than this? Again, using the Help Example for _DateTimeSplit()- see code #include <Date.au3> #include <array.au3> Local $MyDate, $MyTime _DateTimeSplit("2005/01/01 01:05:08", $MyDate, $MyTime) For $x = 1 To $MyDate[0] MsgBox(0, $x, $MyDate[$x]) Next For $x = 1 To $MyTime[0] MsgBox(0, $x, $MyTime[$x]) Next ;------------------------------------------------------ ;-------- Update variables to two digits -------- ;------------------------------------------------------ For $i = 2 To $MyDate[0] Step 1 $MyDate[$i] = StringFormat("%02s", $MyDate[$i]) Next For $i = 1 To $MyTime[0] Step 1 $MyTime[$i] = StringFormat("%02s", $MyTime[$i]) Next _ArrayDisplay($MyDate, "Updated to two digits") _ArrayDisplay($MyTime, "Updated to two digits")
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now