From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,27d478aa577d0f8b X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!z28g2000prd.googlegroups.com!not-for-mail From: Adam Beneschan Newsgroups: comp.lang.ada Subject: Re: Getting current date and time Date: Tue, 24 Jul 2007 08:24:58 -0700 Organization: http://groups.google.com Message-ID: <1185290698.850041.204530@z28g2000prd.googlegroups.com> References: <1185139279.071088.106330@d55g2000hsg.googlegroups.com> <1185145228.126307.301840@d55g2000hsg.googlegroups.com> <1185220676.926492.258330@g4g2000hsf.googlegroups.com> <1185220926.372760.52420@q75g2000hsh.googlegroups.com> <1185221307.073177.279370@n60g2000hse.googlegroups.com> <1185227010.432172.50300@e16g2000pri.googlegroups.com> <1185267194.506294.197760@w3g2000hsg.googlegroups.com> NNTP-Posting-Host: 66.126.103.122 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: posting.google.com 1185290699 13721 127.0.0.1 (24 Jul 2007 15:24:59 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 24 Jul 2007 15:24:59 +0000 (UTC) In-Reply-To: <1185267194.506294.197760@w3g2000hsg.googlegroups.com> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.7.12-1.3.1,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: z28g2000prd.googlegroups.com; posting-host=66.126.103.122; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 Xref: g2news1.google.com comp.lang.ada:16596 Date: 2007-07-24T08:24:58-07:00 List-Id: On Jul 24, 1:53 am, Maciej Sobczak wrote: > On 23 Lip, 23:43, Adam Beneschan wrote: > > > In Ada 2005, this is handled by the Differences procedure in > > Ada.Calendar.Arithmetic (9.6.1). You can use Ada.Calendar.Time_Of to > > create the Time value for January 1, 1970, and then use that as a > > parameter to Differences. > > The problem is that I need just a number of seconds (this is for > interfacing with other software which uses that Unix-like time > descriptions), so I cannot use the value which is broken down into > several components. Why not? Differences returns the result in "days" and "seconds", and you should be able to convert the "days" to seconds by multiplying it by a value that I just recently helped my 9-year-old figure out, and then adding the result to the second value, and then maybe adding the leap seconds (see below). > Moreover, the concept of leap seconds does not fit here neither (or > does it?). Your previous post said that the purpose was to "interfac[e] with other software which uses that Unix-like time descriptions". I don't think we can answer anything else without knowing just what that other software does. If the other software uses seconds since January 1, 1970 (regardless of what OS you're on), then you should use the method I described, and you should either use or not use the leap seconds depending on whether the other software does or doesn't. If the other software uses the Unix time function on Unix but some other system service on other OS's, you should probably just do whatever the other software does. This one really isn't an Ada problem. We could conceivably propose a new addition to Ada.Calendar.Arithmetic: function Return_Current_Time_However_The_Other_Software_Maciej_Is_Using_Does_It; but I sort of doubt that a proposal like that would be accepted. -- Adam