<i id='ADgph'><tr id='ADgph'><dt id='ADgph'><q id='ADgph'><span id='ADgph'><b id='ADgph'><form id='ADgph'><ins id='ADgph'></ins><ul id='ADgph'></ul><sub id='ADgph'></sub></form><legend id='ADgph'></legend><bdo id='ADgph'><pre id='ADgph'><center id='ADgph'></center></pre></bdo></b><th id='ADgph'></th></span></q></dt></tr></i><div id='ADgph'><tfoot id='ADgph'></tfoot><dl id='ADgph'><fieldset id='ADgph'></fieldset></dl></div>

    <small id='ADgph'></small><noframes id='ADgph'>

    • <bdo id='ADgph'></bdo><ul id='ADgph'></ul>
    <legend id='ADgph'><style id='ADgph'><dir id='ADgph'><q id='ADgph'></q></dir></style></legend>
        <tfoot id='ADgph'></tfoot>

        python - 带有时区的日期时间到纪元

        python - datetime with timezone to epoch(python - 带有时区的日期时间到纪元)

              <bdo id='wvPut'></bdo><ul id='wvPut'></ul>
                1. <small id='wvPut'></small><noframes id='wvPut'>

                  <i id='wvPut'><tr id='wvPut'><dt id='wvPut'><q id='wvPut'><span id='wvPut'><b id='wvPut'><form id='wvPut'><ins id='wvPut'></ins><ul id='wvPut'></ul><sub id='wvPut'></sub></form><legend id='wvPut'></legend><bdo id='wvPut'><pre id='wvPut'><center id='wvPut'></center></pre></bdo></b><th id='wvPut'></th></span></q></dt></tr></i><div id='wvPut'><tfoot id='wvPut'></tfoot><dl id='wvPut'><fieldset id='wvPut'></fieldset></dl></div>
                  <tfoot id='wvPut'></tfoot><legend id='wvPut'><style id='wvPut'><dir id='wvPut'><q id='wvPut'></q></dir></style></legend>
                    <tbody id='wvPut'></tbody>
                2. 本文介绍了python - 带有时区的日期时间到纪元的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在下面的代码中,我正在计算现在纪元和当前纪元的开始.

                  In the code below, I am calculating now epoch and beginning of current day epoch.

                  import time
                  import pytz
                  from datetime import datetime
                  
                  tz1 = pytz.timezone('CST6CDT')
                  utc = pytz.timezone('UTC')
                  now = pytz.UTC.localize(datetime.utcnow())
                  now_tz = now.astimezone(tz1)
                  print now_tz
                  print now_tz.strftime('%s')
                  
                  begin_day = now_tz.replace(hour=0, minute=0, second=0)
                  print begin_day
                  
                  print begin_day.strftime('%s')
                  

                  打印语句:

                  2012-08-28 13:52:21.595718-05:00
                  1346187141
                  2012-08-28 00:00:00.595718-05:00
                  1346137200
                  

                  使用 CDT 时区将纪元转换为时间戳:1346187141 - 2012 年 8 月 28 日 15:52:21,1346137200 - 2012年8月28日02:00:00

                  Converting epochs to timestamp with CDT timezone: 1346187141 - Aug 28 2012 15:52:21, 1346137200 - Aug 28 2012 02:00:00

                  我希望第二个纪元是一天的开始,但现在是凌晨 2 点.转换为纪元时,它看起来仍在使用本地时区 PST.

                  I'd like the second epoch to be beginning of the day but it's 2 am. It looks like it is still using local timezone PST when converting to epoch.

                  我做错了什么?或者这可以用不同的方式完成吗?

                  What am I doing wrong ? or can this be done a different way?

                  谢谢!

                  推荐答案

                  注意:我的回答完全错误.(我想删除它,但直到接受标志被移除.)

                  NOTE: My answer is flat-out wrong. (I'd like to delete it, but am unable to do so until the accept flag is removed.)

                  请参阅 J.F.Sebastian 的回答.

                  这是演示 now_tz 值的代码,我们的两种方法会产生不同的结果.

                  Here is code demonstrating a value of now_tz for which our two methods produce different results.

                  import calendar
                  import pytz
                  import datetime as dt
                  
                  tz1 = pytz.timezone('US/Eastern')
                  utc = pytz.timezone('UTC')
                  now = utc.localize(dt.datetime(2002, 10, 28), is_dst=None)
                  now_tz = now.astimezone(tz1)
                  now_epoch = calendar.timegm(now_tz.utctimetuple())
                  begin_day = tz1.normalize(now_tz.replace(hour=0, minute=0, second=0))
                  
                  midnight = tz1.localize(dt.datetime.combine(now_tz, dt.time(0, 0)), is_dst=None)
                  if begin_day != midnight:
                      print(begin_day)
                      # 2002-10-27 01:00:00-04:00  # my result -- is not midnight
                      print(midnight)
                      # 2002-10-27 00:00:00-04:00  # J.F.Sebastian's result is correct
                  

                  <小时>

                  (原始答案已编辑)


                  (Original answer redacted)

                  这篇关于python - 带有时区的日期时间到纪元的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  env: python: No such file or directory(env: python: 没有这样的文件或目录)
                  How to evaluate environment variables into a string in Python?(如何在 Python 中将环境变量评估为字符串?)
                  Python - temporarily modify the current process#39;s environment(Python - 临时修改当前进程的环境)
                  Change current process environment#39;s LD_LIBRARY_PATH(更改当前进程环境的 LD_LIBRARY_PATH)
                  Reading and writing environment variables in Python?(在 Python 中读写环境变量?)
                  When to use sys.path.append and when modifying %PYTHONPATH% is enough(何时使用 sys.path.append 以及何时修改 %PYTHONPATH% 就足够了)
                    <bdo id='sO78E'></bdo><ul id='sO78E'></ul>

                        <i id='sO78E'><tr id='sO78E'><dt id='sO78E'><q id='sO78E'><span id='sO78E'><b id='sO78E'><form id='sO78E'><ins id='sO78E'></ins><ul id='sO78E'></ul><sub id='sO78E'></sub></form><legend id='sO78E'></legend><bdo id='sO78E'><pre id='sO78E'><center id='sO78E'></center></pre></bdo></b><th id='sO78E'></th></span></q></dt></tr></i><div id='sO78E'><tfoot id='sO78E'></tfoot><dl id='sO78E'><fieldset id='sO78E'></fieldset></dl></div>
                          <legend id='sO78E'><style id='sO78E'><dir id='sO78E'><q id='sO78E'></q></dir></style></legend>
                          <tfoot id='sO78E'></tfoot>

                          <small id='sO78E'></small><noframes id='sO78E'>

                              <tbody id='sO78E'></tbody>