Skip to content

Commit 68fdf66

Browse files
committed
Fixed start_of() methods not setting microseconds to 0
1 parent 524072b commit 68fdf66

File tree

3 files changed

+18
-23
lines changed

3 files changed

+18
-23
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Fixed
66

77
- Fixed the `weeks` property for negative `Period` instances.
8+
- Fixed `start_of()` methods not setting microseconds to 0.
89

910

1011
## [2.0.1] - 2018-05-10

pendulum/datetime.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ def _start_of_day(self):
844844
845845
:rtype: DateTime
846846
"""
847-
return self.at(0, 0, 0)
847+
return self.at(0, 0, 0, 0)
848848

849849
def _end_of_day(self):
850850
"""
@@ -860,7 +860,7 @@ def _start_of_month(self):
860860
861861
:rtype: DateTime
862862
"""
863-
return self.set(self.year, self.month, 1, 0, 0, 0)
863+
return self.set(self.year, self.month, 1, 0, 0, 0, 0)
864864

865865
def _end_of_month(self):
866866
"""
@@ -879,7 +879,7 @@ def _start_of_year(self):
879879
880880
:rtype: DateTime
881881
"""
882-
return self.set(self.year, 1, 1, 0, 0, 0)
882+
return self.set(self.year, 1, 1, 0, 0, 0, 0)
883883

884884
def _end_of_year(self):
885885
"""
@@ -900,7 +900,7 @@ def _start_of_decade(self):
900900
:rtype: DateTime
901901
"""
902902
year = self.year - self.year % YEARS_PER_DECADE
903-
return self.set(year, 1, 1, 0, 0, 0)
903+
return self.set(year, 1, 1, 0, 0, 0, 0)
904904

905905
def _end_of_decade(self):
906906
"""
@@ -924,7 +924,7 @@ def _start_of_century(self):
924924
"""
925925
year = self.year - 1 - (self.year - 1) % YEARS_PER_CENTURY + 1
926926

927-
return self.set(year, 1, 1, 0, 0, 0)
927+
return self.set(year, 1, 1, 0, 0, 0, 0)
928928

929929
def _end_of_century(self):
930930
"""

tests/datetime/test_start_end_of.py

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def test_start_of_day():
5050
d = pendulum.now()
5151
new = d.start_of('day')
5252
assert isinstance(new, pendulum.DateTime)
53-
assert_datetime(new, d.year, d.month, d.day, 0, 0, 0)
53+
assert_datetime(new, d.year, d.month, d.day, 0, 0, 0, 0)
5454

5555

5656
def test_end_of_day():
@@ -68,13 +68,13 @@ def test_start_of_month_is_fluid():
6868
def test_start_of_month_from_now():
6969
d = pendulum.now()
7070
new = d.start_of('month')
71-
assert_datetime(new, d.year, d.month, 1, 0, 0, 0)
71+
assert_datetime(new, d.year, d.month, 1, 0, 0, 0, 0)
7272

7373

7474
def test_start_of_month_from_last_day():
7575
d = pendulum.datetime(2000, 1, 31, 2, 3, 4)
7676
new = d.start_of('month')
77-
assert_datetime(new, 2000, 1, 1, 0, 0, 0)
77+
assert_datetime(new, 2000, 1, 1, 0, 0, 0, 0)
7878

7979

8080
def test_start_of_year_is_fluid():
@@ -86,32 +86,26 @@ def test_start_of_year_is_fluid():
8686
def test_start_of_year_from_now():
8787
d = pendulum.now()
8888
new = d.start_of('year')
89-
assert_datetime(new, d.year, 1, 1, 0, 0, 0)
89+
assert_datetime(new, d.year, 1, 1, 0, 0, 0, 0)
9090

9191

9292
def test_start_of_year_from_first_day():
9393
d = pendulum.datetime(2000, 1, 1, 1, 1, 1)
9494
new = d.start_of('year')
95-
assert_datetime(new, 2000, 1, 1, 0, 0, 0)
95+
assert_datetime(new, 2000, 1, 1, 0, 0, 0, 0)
9696

9797

9898
def test_start_of_year_from_last_day():
9999
d = pendulum.datetime(2000, 12, 31, 23, 59, 59)
100100
new = d.start_of('year')
101-
assert_datetime(new, 2000, 1, 1, 0, 0, 0)
101+
assert_datetime(new, 2000, 1, 1, 0, 0, 0, 0)
102102

103103

104104
def test_end_of_month_is_fluid():
105105
d = pendulum.now()
106106
assert isinstance(d.end_of('month'), pendulum.DateTime)
107107

108108

109-
def test_end_of_month_from_now():
110-
d = pendulum.now().start_of('month')
111-
new = d.start_of('month')
112-
assert_datetime(new, d.year, d.month, 1, 0, 0, 0)
113-
114-
115109
def test_end_of_month():
116110
d = pendulum.datetime(2000, 1, 1, 2, 3, 4).end_of('month')
117111
new = d.end_of('month')
@@ -155,19 +149,19 @@ def test_start_of_decade_is_fluid():
155149
def test_start_of_decade_from_now():
156150
d = pendulum.now()
157151
new = d.start_of('decade')
158-
assert_datetime(new, d.year - d.year % 10, 1, 1, 0, 0, 0)
152+
assert_datetime(new, d.year - d.year % 10, 1, 1, 0, 0, 0, 0)
159153

160154

161155
def test_start_of_decade_from_first_day():
162156
d = pendulum.datetime(2000, 1, 1, 1, 1, 1)
163157
new = d.start_of('decade')
164-
assert_datetime(new, 2000, 1, 1, 0, 0, 0)
158+
assert_datetime(new, 2000, 1, 1, 0, 0, 0, 0)
165159

166160

167161
def test_start_of_decade_from_last_day():
168162
d = pendulum.datetime(2009, 12, 31, 23, 59, 59)
169163
new = d.start_of('decade')
170-
assert_datetime(new, 2000, 1, 1, 0, 0, 0)
164+
assert_datetime(new, 2000, 1, 1, 0, 0, 0, 0)
171165

172166

173167
def test_end_of_decade_is_fluid():
@@ -201,19 +195,19 @@ def test_start_of_century_is_fluid():
201195
def test_start_of_century_from_now():
202196
d = pendulum.now()
203197
new = d.start_of('century')
204-
assert_datetime(new, d.year - d.year % 100 + 1, 1, 1, 0, 0, 0)
198+
assert_datetime(new, d.year - d.year % 100 + 1, 1, 1, 0, 0, 0, 0)
205199

206200

207201
def test_start_of_century_from_first_day():
208202
d = pendulum.datetime(2001, 1, 1, 1, 1, 1)
209203
new = d.start_of('century')
210-
assert_datetime(new, 2001, 1, 1, 0, 0, 0)
204+
assert_datetime(new, 2001, 1, 1, 0, 0, 0, 0)
211205

212206

213207
def test_start_of_century_from_last_day():
214208
d = pendulum.datetime(2100, 12, 31, 23, 59, 59)
215209
new = d.start_of('century')
216-
assert_datetime(new, 2001, 1, 1, 0, 0, 0)
210+
assert_datetime(new, 2001, 1, 1, 0, 0, 0, 0)
217211

218212

219213
def test_end_of_century_is_fluid():

0 commit comments

Comments
 (0)