need to print seconds from the epoch including the millisecond

matt.doolittle33 at gmail.com matt.doolittle33 at gmail.com
Mon Dec 30 13:16:02 CET 2013


On Friday, December 27, 2013 1:49:54 PM UTC-5, Ned Batchelder wrote:
> On 12/27/13 1:09 PM, matt.doolittle33 at gmail.com wrote:
> 
> > On Friday, December 27, 2013 11:27:58 AM UTC-5, Roy Smith wrote:
> 
> >> In article <0c33b7e4-edc9-4e1e-b919-fec210c92d4a at googlegroups.com>,
> 
> >>
> 
> >>   matt.doolittle33 at gmail.com wrote:
> 
> >>
> 
> >>
> 
> >>
> 
> >>> I am on Ubuntu 12.10.   I am still working with the 2 decimal places.
> 
> >>
> 
> >>> Sometime ago i had this issue and I forget how i solved it. maybe i used
> 
> >>
> 
> >>> datetime? thanks!
> 
> >>
> 
> >>
> 
> >>
> 
> >> That's strange.  Linux should give you time to the microsecond, or
> 
> >>
> 
> >> something in that range.
> 
> >>
> 
> >>
> 
> >>
> 
> >> Please post the *exact* code you're running.  The code you posted
> 
> >>
> 
> >> earlier is obviously only a fragment of some larger program, so we can
> 
> >>
> 
> >> only guess what's happening.  Assuming your program is in a file called
> 
> >>
> 
> >> "prog.py", run the following commands and copy-paste the output:
> 
> >>
> 
> >>
> 
> > i cant run it that way.  i tried using the python prompt in terminal but got nothing.  but here is all the code relevant to this issue:
> 
> > #all the imports
> 
> > import sys
> 
> > import posixpath
> 
> > import time
> 
> > from time import strftime
> 
> > from datetime import datetime
> 
> > import os
> 
> > import wx
> 
> > import cPickle as pickle
> 
> > import gnuradio.gr.gr_threading as _threading
> 
> >
> 
> >
> 
> > #the function that writes the time values
> 
> >   def update(self, field_values):
> 
> >
> 
> >          now = datetime.now()
> 
> >
> 
> >          #logger ---------------
> 
> >          #  new line to write on
> 
> >          self.logfile.write('\n')
> 
> >          #  write date, time, and seconds from the epoch
> 
> >          self.logfile.write('%s\t'%(strftime("%Y-%m-%d",)))
> 
> >          self.logfile.write('%s\t'%(now.strftime("%H:%M:%S",)))
> 
> >          self.logfile.write('%s\t'%(time.time()))
> 
> >          # list to store dictionary keys in tis order
> 
> >          keys = ["duid", "nac",  "tgid", "source", "algid", "kid"]
> 
> >          # loop through the keys in the right order
> 
> >          for k in keys:
> 
> >              #  get the value of the current key
> 
> >              f = field_values.get(k, None)
> 
> >              # if data unit has value...
> 
> >              if f:
> 
> >                  #  output the value with trailing tab
> 
> >                  self.logfile.write('%s\t'%(str(f)))
> 
> >              # if data unit doesnt have this value print a tab
> 
> >              else:
> 
> >                  self.logfile.write('\t')
> 
> >          #end logger ----------------
> 
> >
> 
> >          #if the field 'duid' == 'hdu', then clear fields
> 
> >          if field_values['duid'] == 'hdu':
> 
> >              self.clear()
> 
> >          elif field_values['duid'] == 'ldu1':
> 
> >              self.clear()
> 
> >          elif field_values['duid'] == 'ldu2':
> 
> >              self.clear()
> 
> >          #elif field_values['duid'] == 'tdu':
> 
> >           #   self.clear()
> 
> >          #loop through all TextCtrl fields storing the key/value pairs in k, v
> 
> >          for k,v in self.fields.items():
> 
> >              # get the dict value for this TextCtrl
> 
> >              f = field_values.get(k, None)
> 
> >              # if the value is empty then set the new value
> 
> >              if f:
> 
> >                  v.SetValue(f)
> 
> >
> 
> > #sample output in a .txt file:
> 
> >
> 
> > 2013-12-27	12:07:33	1388164053.18
> 
> > 2013-12-27	12:07:33	1388164053.36
> 
> > 2013-12-27	12:07:33	1388164053.54
> 
> > 2013-12-27	12:07:33	1388164053.73
> 
> > 2013-12-27	12:07:33	1388164053.91
> 
> > 2013-12-27	12:07:34	1388164054.11
> 
> > 2013-12-27	12:07:34	1388164054.28
> 
> > 2013-12-27	12:07:34	1388164054.48
> 
> > 2013-12-27	12:07:34	1388164054.66
> 
> > 2013-12-27	12:07:34	1388164054.84
> 
> > 2013-12-27	12:07:37	1388164057.62
> 
> > 2013-12-27	12:07:37	1388164057.81
> 
> > 2013-12-27	12:07:37	1388164057.99
> 
> > 2013-12-27	12:07:38	1388164058.18
> 
> > 2013-12-27	12:07:38	1388164058.37
> 
> > 2013-12-27	12:07:38	1388164058.54
> 
> > 2013-12-27	12:07:38	1388164058.73
> 
> > 2013-12-27	12:07:38	1388164058.92
> 
> >
> 
> > Thanks!
> 
> >
> 
> 
> 
> Instead of:
> 
> 
> 
>      "%s" % time.time()
> 
> 
> 
> try:
> 
> 
> 
>      "%.6f" % time.time()
> 
> 
> 
> %.6f is a formatting code meaning, floating-point number, 6 decimal places.
> 
> 
> 
> -- 
> 
> Ned Batchelder, http://nedbatchelder.com

thanks a bunch.  the "%.6f"  was the cure.  can you please point me to the doc for formatting time?  Thanks!



More information about the Python-list mailing list