日期和时间格式从美国变为英国,包括当天的名称。

时间:2016-11-24 01:46:30

标签: python pandas datetime

exam_df['started date']

以下列格式返回日期和时间

0    2016-01-29 06:56:00
1    2016-01-29 09:14:00
2    2016-01-29 11:16:00

我想更改它以便返回

Friday 29/01/2016 06:56:00

2 个答案:

答案 0 :(得分:1)

您可以使用to_datetime()首先将条目转换为datetime对象,然后将strftime()应用于每个条目,将其转换回所需的输出格式,如下所示:

import pandas as pd

df = pd.DataFrame(["2016-01-29 06:56:00", "2016-01-29 09:14:00", "2016-01-29 11:16:00"],  columns=['started date'])
dt = pd.to_datetime(df['started date'], format='%Y-%m-%d %H:%M:%S')
print dt.apply(lambda x: x.strftime('%A %d/%m/%Y %H:%M:%S'))

给你:

0    Friday 29/01/2016 06:56:00
1    Friday 29/01/2016 09:14:00
2    Friday 29/01/2016 11:16:00

这样可以使用strftime()格式规则,如下所示:

%Y - 以十进制数字为世纪的年份。
%m - 月份为零填充十进制数 %d - 作为零填充十进制数的月中的某一天 %H - 小时(24小时制)作为零填充十进制数 %M - 分钟为零填充十进制数 %S - 第二个作为零填充十进制数 %A - 工作日作为语言环境的全名。

答案 1 :(得分:-3)

这是javaScript中的一个有用功能

function usToBr (n:String) {
    var aDt=n.split(' ')
    aDt[0]=aDt[0].split('-')
    var _date:Date = new Date((aDt[0][0]), (aDt[0][1])-1, (aDt[0][2]));
    var dayOfWeek_array:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");

    var day_str:String = dayOfWeek_array[_date.getDay()];
    return day_str+' '+aDt[0][2]+'/'+aDt[0][1]+'/'+aDt[0][0]+' '+aDt[1];
}