5位数日期戳读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解;后来查到可以在excel中通过设置单元格调回标准日期格式,如下:选中日期戳,右键选择 “格式化单元格(Format Cells)”选择需要的日期格式,点击ok即可通过代码转成标准日期例如这个DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“标准日期”;确认起始日期首先需拿一个“日期戳”对应的时间(标准日期),减去这个日期戳,得出起始时间。获取起始时间:2018-05-02 对应的日期戳为:43222,接下来通过pandas 的Timedelta()和 to_datetime() 获取起始时间。可以看到起始日期为“1899-12-30”这样一来后续日期戳转标准日期,只需要在 “1899-12-30” 的基础上加 “日期戳”即可。批量转换首先定义一个函数用来进行转换:#定义转化日期戳的函数,stamp为日期戳def date(stamp):delta = pd.Timedelta(str(stamp)+'D')real_time = pd.to_datetime('1899-12-30') + deltareturn real_time然后针对DataFrame需要转换的列进行转换即可:
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供做网站、网站建设、微信公众号开发、电商网站开发,小程序开发,软件定制网站等一站式互联网企业服务。
按照题目要求编写的Python程序如下
from datetime import datetime
day=input()
day1=list(map(int,day.split(',')))
x=datetime(day1[0],day1[1],day1[2],day1[3],day1[4])
week=x.weekday()
print("这一天是星期{}。".format(week+1))
timestamp=datetime.timestamp(x)
utc=datetime.utcfromtimestamp(timestamp)
print("这一天的UTC时间是{}。".format(utc.isoformat()))
print(x.strftime('这一天是%b月--%d日--%Y年,%I点%M分%p。'))
import re
def command_add(date, event_details, calendar):
'''
Add event_details to the list at calendar[date]
Create date if it was not there
:param date: A string date formatted as "YYYY-MM-DD"
:param event_details: A string describing the event
:param calendars: The calendars database
:return: a string indicating any errors, "" for no errors
'''
try:
p = re.compile(r"\d{4}-\d{2}-\d{2}")
assert p.match(date), "Param date must match YYYY-MM-DD"
assert isinstance(event_details, str), \
"Param event_details must be a string"
if date in calendar:
calendar[date].append(str(event_details))
else:
calendar.update({date: str(event_details)})
except Exception,e:
return str(e)
def main():
calendar = {}
command_add("2015-10-20", "Python class", calendar)
print calendar
command_add("2015-11-01", "go out with friends after test",
calendar)
print calendar
if __name__ == "__main__":
main()
python中要把字符串转换成日期格式需要使用time模块中的strptime函数,例子如下:
1
2
3
import time
t = time.strptime('2016-05-09 21:09:30', '%Y-%m-%d %H:%M:%S')
print(t)
执行结果如下:
time.struct_time(tm_year=2016, tm_mon=5, tm_mday=9, tm_hour=21, tm_min=9, tm_sec=30, tm_wday=0, tm_yday=130, tm_isdst=-1)
函数说明:
第一个参数是要转换成日期格式的字符串,第二个参数是字符串的格式
函数官方文档如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Help on built-in function strptime in module time:
strptime(...)
strptime(string, format) - struct_time
Parse a string to a time tuple according to a format specification.
See the library reference manual for formatting codes (same as
strftime()).
Commonly used format codes:
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
Other codes may be available on your platform. See documentation for the C library strftime function.