2017-10-11 20 views
1

日付と時刻を扱うPythonコードはほとんどありませんので、質問をしてスクリプトを修正する必要があります。スクリプトは小数点以下3桁までの書式設定

from datetime import date, datetime, timedelta 
import random 


def perdelta(start, end, delta): 
    curr = start 
    while curr < end: 
     yield curr 
     curr += delta 

s = datetime.now() - timedelta(days=10) 
e = datetime.now() - timedelta(days=8) 


# start = 2017-10-01 06:44:00.480208 
# end = 2017-10-03 06:44:00.480583 


# print "\n" 
# print "start = ", s 
# print "end = ", e 
# print "\n" 

dates = [] 

for result in perdelta(s, e, timedelta(seconds=15)): 
    print result 

私は結果をプリントアウトしたように、私は

2017-10-03 06:49:50.009049 
2017-10-03 06:50:05.009049 

のような値がどのように私は2017-10-03 06:49:50.349のような小数点以下3桁まで続けるん取得するには、以下に提供されますか?

+2

質問ごとに1つだけ質問してください。 – Shadow

+1

人々があなたを助けるためにコードをアップロードするときにインポートを含める必要があります – 0TTT0

+0

@Shadow [OK]を1つだけの質問に更新しました。しかし、これはSOFが提出する1つの質問のみを求めるルールですか?私はこれらがお互いに関係していますが、 – Arefe

答えて

1

マイクロ秒の最初の3桁のみを保持する文字列に興味がある場合は、文字列スプライシングを使用できます。

for result in perdelta(s, e, timedelta(seconds=15)): 
    print (str(result)[:-3]) 

ShadowRangerコメントで述べたものであり、よりよい方法は、その追加のミリ秒のスペックでISO 8601に直接フォーマットする.isoformat(...)を使用します。しかし残念ながら、timespec引数はPython 3.6で最近追加されたばかりです。

関連する問題