20
20
ABCDataFrame , ABCDateOffset )
21
21
from pandas .core .dtypes .missing import notna
22
22
from pandas .core import algorithms
23
+ from pandas .util ._decorators import deprecate_kwarg
23
24
24
25
import pandas .compat as compat
25
26
@@ -181,10 +182,12 @@ def _guess_datetime_format_for_array(arr, **kwargs):
181
182
if len (non_nan_elements ):
182
183
return _guess_datetime_format (arr [non_nan_elements [0 ]], ** kwargs )
183
184
184
-
185
+ @deprecate_kwarg (old_arg_name = 'utc' , new_arg_name = 'tz' ,
186
+ mapping = {True : 'UTC' })
185
187
def to_datetime (arg , errors = 'raise' , dayfirst = False , yearfirst = False ,
186
- utc = None , box = True , format = None , exact = True ,
187
- unit = None , infer_datetime_format = False , origin = 'unix' ):
188
+ box = True , format = None , exact = True ,
189
+ unit = None , infer_datetime_format = False , origin = 'unix' ,
190
+ tz = None ):
188
191
"""
189
192
Convert argument to datetime.
190
193
@@ -221,8 +224,13 @@ def to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False,
221
224
.. versionadded: 0.16.1
222
225
223
226
utc : boolean, default None
227
+ .. deprecated
224
228
Return UTC DatetimeIndex if True (converting any tz-aware
225
229
datetime.datetime objects as well).
230
+ tz : pytz.timezone or dateutil.tz.tzfile, default None
231
+ Define the timezone.
232
+
233
+ .. versionadded
226
234
box : boolean, default True
227
235
228
236
- If True returns a DatetimeIndex
@@ -343,8 +351,6 @@ def to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False,
343
351
"""
344
352
from pandas .core .indexes .datetimes import DatetimeIndex
345
353
346
- tz = 'utc' if utc else None
347
-
348
354
def _convert_listlike (arg , box , format , name = None , tz = tz ):
349
355
350
356
if isinstance (arg , (list , tuple )):
@@ -354,8 +360,6 @@ def _convert_listlike(arg, box, format, name=None, tz=tz):
354
360
if is_datetime64tz_dtype (arg ):
355
361
if not isinstance (arg , DatetimeIndex ):
356
362
return DatetimeIndex (arg , tz = tz , name = name )
357
- if utc :
358
- arg = arg .tz_convert (None ).tz_localize ('UTC' )
359
363
return arg
360
364
361
365
elif is_datetime64_ns_dtype (arg ):
@@ -431,6 +435,10 @@ def _convert_listlike(arg, box, format, name=None, tz=tz):
431
435
result = arg
432
436
433
437
if result is None and (format is None or infer_datetime_format ):
438
+ if tz == 'utc' or tz == 'UTC' :
439
+ utc = True
440
+ else :
441
+ utc = False
434
442
result = tslib .array_to_datetime (
435
443
arg ,
436
444
errors = errors ,
0 commit comments