Hi, I think i can use Europe time zone as current local time : import datetime as dt >>> import pytz >>> utc = pytz.timezone("UTC") >>> norway = pytz.timezone("Europe/Norway") >>> a = dt.datetime(2008, 7, 6, 5, 4, 3, tzinfo=utc) >>> b = a.astimezone(norway)
i think this will provide me correct current local time when clock is changed... On Thu, Feb 28, 2013 at 10:44 PM, Morten Engvoldsen <mortene...@gmail.com> wrote: > Hi, > Thanks all for suggestion... > > I am using current date as current date local time. I think > datetime.datetime will provide current local date and time, so > hopefullt the function take care > if the local clock is changed... > > ---------- Forwarded message ---------- > From: Chris Angelico <ros...@gmail.com> > To: python-list@python.org > Cc: > Date: Fri, 1 Mar 2013 07:52:04 +1100 > Subject: Re: Issue with continous incrementing of unbroken sequence > for a entire working day > On Fri, Mar 1, 2013 at 6:23 AM, John Gordon <gor...@panix.com> wrote: >> In <mailman.2663.1362078015.2939.python-l...@python.org> Morten Engvoldsen >> <mortene...@gmail.com> writes: >> >>> But, if i save the serial_ number value in file, then how will it decide >>> to reset the serial number to '1' when the batch runs on next working day. >> >> Name the file so that it contains the date, i.e. "serial_numbers.2013-02-28". >> >> If the file exists, you know that the program has already run today and >> you can read the file to obtain the previous serial number. >> >> If the file does not exist, you know the program has not yet run today >> and you can start the serial number at 1. > > Probably overkill; simpler to have just one file and record the date. > Just be careful of definitions - do you use the current date UTC or > the current date local time? And be aware of what might happen if the > local clock is changed. > > ChrisA > > On Thu, Feb 28, 2013 at 9:41 PM, Morten Engvoldsen <mortene...@gmail.com> > wrote: >> >> Hi, >> Okey i have wrote the below program as you suggested: >> >> import time >> from datetime import date >> >> def salesrecord(): >> serial_number = 0 >> sales_recrod = {'record1':'product1', >> 'record2':'product2','record3':'product3'} >> for i in sales_recrod: >> print sales_recrod[i] >> >> serial_number += 1 >> print serial_number >> fo = open("workfile.txt", "wb") >> fo.write(str(serial_number)) >> fo.close() >> with open("workfile.txt", 'r') as f: >> serial_number = f.read() >> today = date.today() >> >> >> >> salesrecord() >> >> >> Here i am bit confuse with where i should write the read file function to >> read the current serial number and date. also when i overwrite the file with >> current serial number, it will overwrite the date also with current date, in >> that case how will i compare the date. Can you please show me in my example >> how can i achive this.. >> >> >> ---------- Forwarded message ---------- >> From: Matt Jones <matt.walker.jo...@gmail.com> >> To: "python-list@python.org" <python-list@python.org> >> Cc: >> Date: Thu, 28 Feb 2013 13:11:38 -0600 >> Subject: Re: Issue with continous incrementing of unbroken sequence for a >> entire working day >> Store the day as well as the serial_number in your file. If the day is the >> same as today's day, use the serial_number, if not, use 1. At the end of >> you program write the current day and serial_number. >> >> Matt Jones >> >> >> On Thu, Feb 28, 2013 at 1:00 PM, Morten Engvoldsen <mortene...@gmail.com> >> wrote: >> Hi, >> thanks for youe suggestion. I think i will go for your second option: >> >> # Runs this loop until killed >> while True >> <do some stuff: clean serial_number, if day changed, calculate salesrecord >> etc.> >> >> serial_number = salesrecord(serial_number) >> >> >> But, if i save the serial_ number value in file, then how will it decide to >> reset the serial number to '1' when the batch runs on next working day. >> What condition can be good, so that next day when the batch runs, it will >> know it has to reset the value 1. Also my batch will not automatcilly run >> whole day, this is user's decision how many times he wants to run the batch >> in a day. Can you elebrate more how can i do that ... >> >> ---------- Forwarded message ---------- >> From: Morten Engvoldsen <mortene...@gmail.com> >> Date: Thu, Feb 28, 2013 at 5:31 PM >> Subject: Issue with continous incrementing of unbroken sequence for a entire >> working day >> To: python-list@python.org >> >> >> Hi team, >> I need to run a batch of sales records and the batch has serial_number >> filed to store the serial number of the sales record. The serial number >> should be set to 1 everyday when the batch runs first time in a day and the >> maximum serial number could be 1000. >> >> So when the batch runs first time in a day and if it has 10 records, so the >> last serial number will be 10. And when the batch runs 2nd time in same day, >> the serial number should start from 11. In this way serial_number will >> increment as an unbroken series throughout the entire working day. The next >> day when the batch runs first time the serial number will reset to 1. >> >> Now this could be sample code how the program can count the sequence for a >> batch: >> >> def salesrecord(): >> serial_number = 1 >> for i in selesrecord: >> print first_sales_record >> serial_number += 1 >> print serial_number >> >> salesrecord() >> >> So if the batch has 10 records and last serial number of first batch is 10, >> then when the batch runs second time in the same day, how the >> 'serial_number' will get the value of 10 and then continue the serial number >> for the same day, then for next day again the serial number will start from >> 1. >> >> Can you let me know how can i achive this in python? As i am in learning >> phase of python, can you let me know what would be good approach to do this >> in python. >> -- http://mail.python.org/mailman/listinfo/python-list