时间格式转换
<p>[TOC]</p>
<pre><code class="language-python">%matplotlib inline
%load_ext autoreload
%autoreload 2
import meteva.base as meb
import datetime
import numpy as np</code></pre>
<p>在python编程中,经常涉及到datetime,numpy.datetime64和字符型的时间之间的转换问题。本程序库对此进行了进一步的封装。</p>
<h1>转换为datetime.datetime类型</h1>
<p><strong>all_type_time_to_datetime(time0)</strong><br />
将任意类型的时间转换为python中detetime.datetime类型</p>
<p><strong>参数说明:</strong><br />
<strong>time0</strong>: 字符型或datetime.datetime类型或numpy.datetime64类型的时间变量<br />
<strong>return</strong>: datetime.datetime类型变量 </p>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">time_str0 = "2019123108"
datetime1 = meb.all_type_time_to_datetime(time_str0)
print(datetime1)</code></pre>
<pre><code>2019-12-31 08:00:00</code></pre>
<pre><code class="language-python">datetime0 = datetime.datetime(2019,12,31,8,0)
datetime1 = meb.all_type_time_to_datetime(datetime0)
print(datetime1)</code></pre>
<pre><code>2019-12-31 08:00:00</code></pre>
<pre><code class="language-python">datetime64_0 = np.datetime64('2019-12-31T08:00:00.000000')
datetime1 = meb.all_type_time_to_datetime(datetime0)
print(datetime1)</code></pre>
<pre><code>2019-12-31 08:00:00</code></pre>
<h1>转换为numpy.datetime64类型</h1>
<p><strong>all_type_time_to_time64(time0)</strong><br />
将任意类型的时间转换为numpy.datetime64类型</p>
<p><strong>参数说明:</strong><br />
<strong>time0</strong>: 字符型或datetime.datetime类型或numpy.datetime64类型的时间变量<br />
<strong>return</strong>: numpy.datetime64类型变量 </p>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">datetime64_1 = meb.all_type_time_to_time64(time_str0)
print(datetime64_1)</code></pre>
<pre><code>2019-12-31T08:00:00.000000</code></pre>
<pre><code class="language-python">datetime64_1 = meb.all_type_time_to_time64(datetime0)
print(datetime64_1)</code></pre>
<pre><code>2019-12-31T08:00:00.000000</code></pre>
<pre><code class="language-python">datetime64_1 = meb.all_type_time_to_time64(datetime64_0)
print(datetime64_1)</code></pre>
<pre><code>2019-12-31T08:00:00.000000</code></pre>
<h1>转换为仅包含数字的字符串</h1>
<p><strong>all_type_time_to_str(time0)</strong><br />
将任意类型的时间转换为仅包含数字的字符串</p>
<p><strong>参数说明:</strong><br />
<strong>time0</strong>: 字符型或datetime.datetime类型或numpy.datetime64类型的时间变量<br />
<strong>return</strong>: 字符串 </p>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">time_str1 = meb.all_type_time_to_str(time_str0)
print(time_str1)</code></pre>
<pre><code>20191231080000</code></pre>
<pre><code class="language-python">time_str1 = meb.all_type_time_to_str(datetime0)
print(time_str1)</code></pre>
<pre><code>20191231080000</code></pre>
<pre><code class="language-python">time_str1 = meb.all_type_time_to_str(datetime64_0)
print(time_str1)</code></pre>
<pre><code>20191231080000</code></pre>
<h1>时间差转换为numpy.timedelta64类型</h1>
<p><strong>all_type_timedelta_to_timedelta64(dtime0)</strong><br />
将时间差转换为numpy.timedelta64类型</p>
<p><strong>参数说明:</strong><br />
<strong>time0</strong>: 字符型或datetime.timedelta类型或numpy.timedelta64类型的时间变量<br />
<strong>return</strong>: numpy.timedelta64类型变量 </p>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">dtime_str0 = "12h"
timedelta = meb.all_type_timedelta_to_timedelta64(dtime_str0)
print(timedelta)</code></pre>
<pre><code>43200000000 microseconds</code></pre>
<pre><code class="language-python">dtime64 = meb.all_type_timedelta_to_timedelta64(timedelta)
print(dtime64)</code></pre>
<pre><code>43200000000 microseconds</code></pre>
<pre><code class="language-python">dtime64 = meb.all_type_timedelta_to_timedelta64(datetime.timedelta(hours = 24))
print(dtime64)</code></pre>
<pre><code>86400000000 microseconds</code></pre>
<h1>时间差转换为datetime.timedelta类型</h1>
<p><strong>all_type_timedelta_to_timedelta(dtime0)</strong><br />
将时间差转换为datetime.timedelta类型</p>
<p><strong>参数说明:</strong><br />
<strong>time0</strong>: 字符型或datetime.timedelta类型或numpy.timedelta64类型的时间变量<br />
<strong>return</strong>: datetime.timedelta类型变量 </p>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">dtime1 = meb.all_type_timedelta_to_timedelta(dtime64)
print(dtime1)</code></pre>
<pre><code>1 day, 0:00:00</code></pre>
<pre><code class="language-python">dtime1 = meb.all_type_timedelta_to_timedelta("24h")
print(dtime1)</code></pre>
<pre><code>1 day, 0:00:00</code></pre>
<pre><code class="language-python">dtime1 = meb.all_type_timedelta_to_timedelta(datetime.timedelta(hours = 24))
print(dtime1)</code></pre>
<pre><code>1 day, 0:00:00</code></pre>
<pre><code class="language-python"></code></pre>