| tpictr_c | 
| Table of contents Procedure
   tpictr_c ( Create a Time Format Picture ) 
   void tpictr_c ( ConstSpiceChar * sample,
                   SpiceInt         pictln,
                   SpiceInt         errmln,
                   SpiceChar      * pictur,
                   SpiceBoolean   * ok,
                   SpiceChar      * errmsg )
AbstractCreate a time format picture suitable for use by the routine timout_c from a given sample time string. Required_ReadingNone. KeywordsTIME Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- sample I A sample time string. pictln I The length for the output picture string. errmln I The length for the output error string. pictur O A format picture that describes sample. ok O Flag indicating whether sample parsed successfully. errmsg O Diagnostic returned if sample cannot be parsed. Detailed_Input
   sample      is a representative time string to use as a model to
               format time strings.
   pictln      is the allowed length for the output picture. This length
               must large enough to hold the output string plus the null
               terminator. If the output string is expected to have x
               characters, `pictln' needs to be x + 1. 80 is a reasonable
               value for `pictln' (79 characters plus the null
               terminator).
   errmln      is the allowed length for the output error string.
Detailed_Output
   pictur      is a format picture suitable for use with the SPICE
               routine timout_c. This picture, when used to format an
               epoch via timout_c, will yield the same time components in
               the same order as the components in sample.
   ok          is a logical flag indicating whether the input format
               sample could be parsed. If all of the components of
               sample are recognizable, ok will be returned with the
               value SPICEFALSE. If some part of pictur cannot be
               parsed, ok will be returned with the value SPICEFALSE.
   errmsg      is a diagnostic message that indicates what part of
               sample was not recognizable. If sample was successfully
               parsed, ok will be SPICEFALSE and errmsg will be
               returned as an empty string.
ParametersNone. Exceptions
   1)  All problems with the inputs are reported via `ok' and `errmsg'.
   2)  If a format picture can not be created from the sample
       time string, `pictur' is returned as a blank string.
   3)  If the `sample' input string pointer is null, the error
       SPICE(NULLPOINTER) is signaled.
   4)  If the `sample' input string has zero length, the error
       SPICE(EMPTYSTRING) is signaled.
   5)  If any of the `pictur' or `errmsg' output string pointers is
       null, the error SPICE(NULLPOINTER) is signaled.
   6)  If any of the `pictur' or `errmsg' output strings has length
       less than two characters, the error SPICE(STRINGTOOSHORT) is
       signaled, since the output string is too short to contain one
       character of output data plus a null terminator.
FilesNone. ParticularsAlthough the routine timout_c provides CSPICE users with a great deal of flexibility in formatting time strings, users must master the means by which a time picture is constructed suitable for use by timout_c. This routine allows CSPICE users to supply a sample time string from which a corresponding time format picture can be created, freeing users from the task of mastering the intricacies of the routine timout_c. Note that timout_c can produce many time strings whose patterns can not be discerned by this routine. When such outputs are called for, the user must consult timout_c and construct the appropriate format picture "by hand." However, these exceptional formats are not widely used and are not generally recognizable to an uninitiated reader. Examples
   The numerical results shown for this example may differ across
   platforms. The results depend on the SPICE kernels used as input,
   the compiler and supporting libraries, and the machine specific
   arithmetic implementation.
   1) Given a sample with the format of the UNIX date string
      local to California, create a SPICE time picture for use
      in timout_c.
      Using that SPICE time picture, convert a series of ephemeris
      times to that picture format.
      Use the LSK kernel below to load the leap seconds and time
      constants required for the conversions.
         naif0012.tls
      Example code begins here.
      /.
         Program tpictr_ex1
      ./
      #include <stdio.h>
      #include "SpiceUsr.h"
      int main( )
      {
         /.
         Local parameters.
         ./
         #define ERRLEN       400
         #define TIMLEN       65
         /.
         Local variables
         ./
         SpiceBoolean         ok;
         SpiceChar            err    [ERRLEN];
         SpiceChar            pictur [TIMLEN];
         SpiceChar          * sample;
         SpiceChar            timstr [TIMLEN];
         SpiceChar          * utcstr;
         SpiceDouble          et;
         /.
         Load LSK file.
         ./
         furnsh_c ( "naif0012.tls" );
         /.
         Create the required time picture.
         ./
         sample = "Thu Oct 01 11:11:11 PDT 1111";
         tpictr_c ( sample, ERRLEN, TIMLEN, pictur, &ok, err );
         if ( ! ok )
         {
            printf( "Invalid time picture.\n" );
            printf( "%s\n", err );
         }
         else
         {
            /.
            Convert the input UTC time to ephemeris time.
            ./
            utcstr = "24 Mar 2018  16:23:00 UTC";
            str2et_c ( utcstr, &et );
            /.
            Now convert `et' to the desired output format.
            ./
            timout_c ( et, pictur, TIMLEN, timstr );
            printf( "Sample format:  %s\n", sample );
            printf( "Time picture :  %s\n", pictur );
            printf( "\n" );
            printf( "Input UTC    :  %s\n", utcstr );
            printf( "Output       :  %s\n", timstr );
         }
         return ( 0 );
      }
      When this program was executed on a Mac/Intel/cc/64-bit
      platform, the output was:
      Sample format:  Thu Oct 01 11:11:11 PDT 1111
      Time picture :  Wkd Mon DD HR:MN:SC PDT YYYY ::UTC-7
      Input UTC    :  24 Mar 2018  16:23:00 UTC
      Output       :  Sat Mar 24 09:23:00 PDT 2018
RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionJ. Diaz del Rio (ODC Space) W.L. Taber (JPL) E.D. Wright (JPL) Version
   -CSPICE Version 1.1.0, 05-AUG-2021 (JDR)
       Changed the input argument names "lenout" and "lenerr" to
       "pictln" and "errmln" for consistency with other routines.
       Edited the header to comply with NAIF standard.
       Converted the existing code fragments into complete example
       and added reference to required LSK.
   -CSPICE Version 1.0.0, 23-JUL-1999 (EDW) (WLT)
Index_EntriesUse a sample time string to produce a time format picture | 
Fri Dec 31 18:41:14 2021