http://qs321.pair.com?node_id=32018


in reply to Date format question

printf and more generally sprintf allow you to specify how wide you want fields to print. printf just takes the string returned by sprintf and actually prints it, but the format specifiers are documented with sprintf. Try this:

printf("%4d.%02d.%02d\n", $year, $month, $day);

Update:

As BlaisePascal points out, this snippet assumes that the variables already contain what you want to print out; you may need to coerce return values from time functions to get them into the appropriate form.

Replies are listed 'Best First'.
RE: Re: Date format question
by BlaisePascal (Monk) on Sep 12, 2000 at 03:19 UTC
    Try:
    printf("%4d.%02d.%02d\n",$year+1900,$month,$day);
    That is, if you don't want today's date to be printed as 100.09.11

    You might want to use sprintf if you are trying to get it in a string.

      Actually, you'll also want to use $month+1...

      printf("%4d.%02d.%02d\n",$year+1900,$month+1,$day);