我想获得当前时间在Python,并将它们分配到像变量year,month,day,hour,minute.如何在Python 2.7中完成?
我试图找出datetime和time模块之间的差异,以及每个模块应该用于什么.
我知道这datetime提供了日期和时间.该time模块有什么用?
可以理解的例子和关于时区的差异尤其令人感兴趣.
现在我用
import datetime
print(datetime.datetime.now().strftime("%X"))
Run Code Online (Sandbox Code Playgroud)
将当前时间显示为字符串.
问题是,我的计算机在Europe/Berlin时区中运行,此处不计算+2到UTC的偏移量.而不是19:22:26它应该显示21:22:26
与我在这里找到的其他答案不同,我不通过调用存储它
datetime.datetime(2014, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
但
datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)
所以我尝试了(并且失败了)以下内容:
>>> from pytz import timezone
>>> datetime.datetime.now().astimezone(timezone('Europe/Berlin'))
ValueError: astimezone() cannot be applied to a naive datetime
Run Code Online (Sandbox Code Playgroud)
无法发布答案,因为此问题已标记为已关闭
我遇到此问题的服务器不再存在.无论如何,这里有一些值得检查的事情:
当我创建我的日志文件时,我希望该名称包含日期时间.
现在,在python中,您可以获取当前日期时间:
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2012, 2, 3, 21, 35, 9, 559000)
Run Code Online (Sandbox Code Playgroud)
str版本是
>>> str(datetime.now())
'2012-02-03 21:35:22.247000'
Run Code Online (Sandbox Code Playgroud)
不是一个非常好的str附加到日志文件名称!我想我的日志文件是这样的:
mylogfile_21_35_03_02_2012.log
Run Code Online (Sandbox Code Playgroud)
有没有python可以做的事情让这很容易做到?请注意,我正在创建日志文件
fh = logging.FileHandler("mylogfile" + datetimecomp + ".log")
Run Code Online (Sandbox Code Playgroud)
有小费吗?
我需要检查当前时间是否在时间范围内.最简单的情况time_end> time_start:
if time(6,0) <= now.time() <= time(12,00): print '1'
Run Code Online (Sandbox Code Playgroud)
但是当用户在结束时间小于开始时间时输入时间范围时开始麻烦,例如"23:00 - 06:00".像'00:00'这样的时间就在这个范围内.大约5年前我写了这个PHP函数:
function checkInterval($start, $end)
{
$dt = date("H:i:s");
$tstart = explode(":", $start);
$tend = explode(":", $end);
$tnow = explode(":", $dt);
if (!$tstart[2])
$tstart[2] = 0;
if (!$tend[2])
$tend[2] = 0;
$tstart = $tstart[0]*60*60 + $tstart[1]*60 + $tstart[2];
$tend = $tend[0]*60*60 + $tend[1]*60 + $tend[2];
$tnow = $tnow[0]*60*60 + $tnow[1]*60 + $tnow[2];
if ($tend < $tstart)
{
if ($tend - $tnow > 0 && $tnow > $tstart)
return true; …Run Code Online (Sandbox Code Playgroud) 我什么timezone.now()时候应该使用django ,什么时候应该使用python datetime.datetime.now()?
例如,在下面INSERT哪个更有意义?
- Product.objects.create(title='Soap', date_added=datetime.datetime.now())
- Product.objects.create(title='Soap', date_added=timezone.now())
Run Code Online (Sandbox Code Playgroud)
是否有关于何时使用每种方法的经验法则?
delorean文档显示这种方式来获得在给定的时区当前时间 使用datetime:
from datetime import datetime
from pytz import timezone
EST = "US/Eastern"
UTC = "UTC"
d = datetime.utcnow()
utc = timezone(UTC)
est = timezone(EST)
d = utc.localize(d)
d = est.normalize(EST)
Run Code Online (Sandbox Code Playgroud)
并将其与基于delorian的代码进行比较:
from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)
Run Code Online (Sandbox Code Playgroud)
我相信这个datetime例子应该写成:
from datetime import datetime
import pytz
eastern_timezone = pytz.timezone("US/Eastern")
d = datetime.now(eastern_timezone)
Run Code Online (Sandbox Code Playgroud)
这更简洁.
当最后一个代码示例失败而第一个代码示例继续工作时,是否有任何情况?
更新: 当前示例:
from datetime import datetime
import pytz
d = datetime.utcnow()
d = pytz.utc.localize(d)
est …Run Code Online (Sandbox Code Playgroud) 我有
import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
Run Code Online (Sandbox Code Playgroud)
如何用Arrow解析这个问题,以便获得带有时区的Arrow对象tz?以下默认为UTC时间.
In [30]: arrow.get(s, 'YYYY/M/D HH:mm:ss')
Out[30]: <Arrow [2015-12-01T19:00:00+00:00]>
Run Code Online (Sandbox Code Playgroud)
我知道该.to功能,但转换时区,但不允许我更改为时区.
我想知道一种在程序中两点之间切换的方法。在我的情况下,我将向用户询问10个问题,并在显示用户回答问题所花的时间之后(以下示例代码)。我将如何通过类似导入时间来做到这一点?
示例代码:
timer.start
question1 = input("What is your favorite game ?")
timer.end
print(timer.time)
Run Code Online (Sandbox Code Playgroud)
^ timer.x的内容将由您的建议取代。
我使用带pyscopg2的insert语句将日期时间戳插入sql数据库时遇到问题.
下面的代码是每次按下按钮时,它应该在包含buildingID(只是文本)的数据库中插入一行,以及按下按钮时的日期和时间.
我只是无法弄清楚如何插入当前的日期和时间.
# Inserts data into local database
def insertLocalDB():
# Open a cursor to perform database operations
cur = conn.cursor()
cur.execute("INSERT INTO test_table (buildingID,datetime) VALUES(%s,%s)",
("01", datetime)) #HAS TO BE CURRENT DATE AND TIME
# Make the changes to the database persistant
conn.commit()
# Close communication with the database
cur.close()
Run Code Online (Sandbox Code Playgroud) python ×9
datetime ×6
time ×3
timezone ×3
arrow-python ×1
delorian ×1
django ×1
postgresql ×1
psycopg2 ×1
python-2.7 ×1
pytz ×1
range ×1