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
<[email protected]> 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 <[email protected]>
> To: [email protected]
> 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 <[email protected]> wrote:
>> In <[email protected]> Morten Engvoldsen
>> <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
>> To: "[email protected]" <[email protected]>
>> 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 <[email protected]>
>> 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 <[email protected]>
>> Date: Thu, Feb 28, 2013 at 5:31 PM
>> Subject: Issue with continous incrementing of unbroken sequence for a entire
>> working day
>> To: [email protected]
>>
>>
>> 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