python中的date的含义_Python中的时间date转换

1.把字符串转换为datetime

from datetime import datetime

begin_date = datetime.strptime("2013-07-01",'%Y-%m-%d')

2.把当前时间转换为0点0分:

from datetime import datetime

now = datetime.now()

now.strftime("%Y-%m-%dT00:00:00Z")

输出: '2013-07-29T00:00:00Z'

3. 日期差,比如获取1小时以前的日期

import datetime

m = datetime.datetime.now()

print m + datetime.timedelta(hours=1)

print m - datetime.timedelta(minutes=10)

Python关于时间日期有两个库datetime和time,于是我们要在四种格式之间转换:

datetime.datetime对象 datetime.datetime.now()

time.struct_time对象  time.localtime()

字符串 "2010-12-04T10:30:53"

时间戳 1291433453  (一般我们不关心微秒)

列一下它们的转换方法:

dt = datetime.datetime(2010, 12, 4, 10, 30, 53)

dt = datetime.datetime.strptime("2010-12-04T10:30:53", "%Y-%m-%dT%H:%M:%S")

dt.strftime("%Y-%m-%dT%H:%M:%S") -> "2010-12-04T10:30:53"

或者 dt.isoformat().split(".").pop(0) -> "2010-12-04T10:30:53"

dt = datetime.datetime.fromtimestamp(1291433453)

(?) dt -> 1291433453

t = time.localtime(1291433453)

t = dt.timetuple()

t = time.strptime("2010-12-04T10:30:53", "%Y-%m-%dT%H:%M:%S")

t.strftime("%Y-%m-%dT%H:%M:%S") -> "2010-12-04T10:30:53"

long( time.mktime(t) ) -> 1291433453

(?) t -> dt

可以看出,Python没有提供直接的time.struct_time对象到datetime.datetime对象的转换,也没有直接提供datetime.datetime对象到时间戳的转换。另外,Python的两个strftime ,strptime中都没有时间戳的格式化符号。

对time.struct_time对象到datetime.datetime对象的转换,很容易想到通过字符串形式过渡一下:

dt = datetime.datetime.strptime(t.strftime("%Y-%m-%dT%H:%M:%S"), "%Y-%m-%dT%H:%M:%S")

格式化:

import datetime

now = datetime.datetime.now()

now.strftime("%y%m")

now.strftime("%H-%M-%S")

format:

%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.

%d

Day of the month as a decimal number [01,31].

%H

Hour (24-hour clock) as a decimal number [00,23].

%I

Hour (12-hour clock) as a decimal number [01,12].

%j

Day of the year as a decimal number [001,366].

%m

Month as a decimal number [01,12].

%M

Minute as a decimal number [00,59].

%p

Locale’s equivalent of either AM or PM.

(1)

%S

Second as a decimal number [00,61].

(2)

%U

Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.

(3)

%w

Weekday as a decimal number [0(Sunday),6].

%W

Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.

(3)

%x

Locale’s appropriate date representation.

%X

Locale’s appropriate time representation.

%y

Year without century as a decimal number [00,99].

%Y

Year with century as a decimal number.

%Z

Time zone name (no characters if no time zone exists).

%%

A literal '%' character.

python的日期和java日期转换

本来想通过long类型来处理,没想到python和java有点不同:

python

>>> time.time()

1349153802.826779

>>> datetime.fromtimestamp(1349153802)

datetime.datetime(2012, 10, 2, 12, 56, 42)

Date date = new Date(1349153802000l);

System.out.println(date.getTime());

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

System.out.print(df.format(date));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值