@@ -532,9 +532,7 @@ class Timestamp(_Timestamp):
532
532
533
533
@property
534
534
def weekday_name (self ):
535
- out = get_date_name_field(
536
- np.array([self .value], dtype = np.int64), ' weekday_name' )
537
- return out[0 ]
535
+ return self ._get_named_field(' weekday_name' )
538
536
539
537
@property
540
538
def dayofyear (self ):
@@ -1268,13 +1266,23 @@ cdef class _Timestamp(datetime):
1268
1266
# same timezone if specified)
1269
1267
return datetime.__sub__ (self , other)
1270
1268
1271
- cpdef _get_field(self , field):
1269
+ cpdef _maybe_convert_value_to_local(self ):
1270
+ """ Convert UTC i8 value to local i8 value if tz exists"
1272
1271
val = self.value
1273
1272
if self.tz is not None and not _is_utc(self.tz):
1274
1273
val = tz_convert_single(self.value, 'UTC', self.tz)
1274
+ return val
1275
+
1276
+ cpdef _get_field(self, field):
1277
+ val = self._maybe_convert_value_to_local()
1275
1278
out = get_date_field(np.array([val], dtype=np.int64), field)
1276
1279
return int(out[0])
1277
1280
1281
+ cpdef _get_named_field(self, field):
1282
+ val = self._maybe_convert_value_to_local()
1283
+ out = get_date_name_field(np.array([val], dtype=np.int64), field)
1284
+ return out[0]
1285
+
1278
1286
cpdef _get_start_end_field(self, field):
1279
1287
month_kw = self.freq.kwds.get(
1280
1288
'startingMonth', self.freq.kwds.get(
0 commit comments