On Wed, May 5, 2010 at 7:47 PM, J <dreadpiratej...@gmail.com> wrote: > Is there a better way to do this?
Yes: from datetime import datetime, timedelta > def SkewTime(): > ''' > Optional function. We can skew time by 1 hour if we'd like to see real sync > changes being enforced > ''' > TIME_SKEW=1 > logging.info('Time Skewing has been selected. Setting clock ahead 1 hour') > # Let's get our current time skewed = datetime.now() + timedelta(hours=TIME_SKEW) > # Now create new time string in the form MMDDhhmmYYYY for the date program date_time_str = skewed.strftime('%m%d%H%M%Y') logging.debug('New date string is: %s' % date_time_str) > logging.debug('Setting new system time/date') status = SilentCall('/bin/date %s' % date_time_str) > logging.info('Pre-sync time is: %s' % time.asctime()) > > Anyway, what I'm wondering, is, while this works, is there a better > way to do it than using part of the originally returned time_struct > and injecting my own new hour argument (hr). Use the datetime module roughly as shown. (Disclaimer: Code is untested). Also, I'm not sure if your original code worked properly after 11PM; my code definitely should. > This just looks... well, big to me. I tried passing only the things I > really needed to time.strftime(), but apparently, that requires the > full 9-tuple from time_struct, not just individual parts of it. Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list