工作不忙的情况下,喜欢写一些代码,来锻炼自己的代码能力,哈哈哈哈哈哈哈

所以初步搞了一个针对时间转化的函数。逻辑是这个样子的

1、输入本次循环的次数

2、输入相应的操作:

  1. 如果什么都不输入,直接回车的情况下获取当前时间戳,时间字符串以及当天是本年第几天,第几周,星期几
  2. 如果输入1--将时间戳转换为字符串时间格式
  3. 如果输入2--将字符串时间格式转化为时间戳
  4. 如果输入3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时/几分/几秒
    1. 当输入时间字符串时,就会返回针对该时间的偏移量
    2. 如果不输入,默认返回针对当前时间进行偏移
  5. 如果输入4--暂定循环

以下是具体代码:

import time,datetime
'''
输入相应的操作:请输入相应的时间节点,如果不输入,获取当前时间以及今天是当年的第几天,当年的第几周,星期几,''1--将时间戳转换为字符串时间格式,''2--将字符串时间格式转化为时间戳,''3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时'4--结束循环
'''def Times_Now():'''请输入相应的时间节点,如果不输入,获取当前时间'''T = time.time()timeArray = time.localtime(T)otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)week_now = time.strftime("今天是当年第%j天-当年第%U周-星期%w")data_dict = {"当前时间戳":T,"当前保留整数时间戳":int(T),"当前时间":otherStyleTime,"当前天数/周/星期":week_now,}print(data_dict)def Timestamp_str(timestamp):'''1--将时间戳转换为字符串时间格式'''time_array = time.localtime(int(timestamp))format_string = "%Y-%m-%d %H:%M:%S"str_date = time.strftime(format_string, time_array)print(str_date)def Str_Timestamp(times_str):'''2--将字符串时间格式转化为时间戳'''format_string = "%Y-%m-%d %H:%M:%S"time_array = time.strptime(times_str, format_string)time_stamp = int(time.mktime(time_array))print(time_stamp)def Before_After(num,except_time = None):'''获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时'''if except_time:#偏移量dt = datetime.datetime.strptime(except_time, "%Y-%m-%d %H:%M:%S")offset_days = datetime.timedelta(days=num)offset_weeks = datetime.timedelta(weeks=num)offset_hours = datetime.timedelta(hours=num)offset_minutes = datetime.timedelta(minutes=num)offset_seconds = datetime.timedelta(seconds=num)data_dict= {"日期%s前%s天"%(except_time,num):(dt - offset_days).strftime("%Y-%m-%d %H:%M:%S"),"日期%s后%s天"%(except_time,num):(dt + offset_days).strftime("%Y-%m-%d %H:%M:%S"),"日期%s前%s周"%(except_time,num):(dt - offset_weeks).strftime("%Y-%m-%d %H:%M:%S"),"日期%s后%s周"%(except_time,num):(dt + offset_weeks).strftime("%Y-%m-%d %H:%M:%S"),"日期%s前%s小时"%(except_time,num):(dt - offset_hours).strftime("%Y-%m-%d %H:%M:%S"),"日期%s后%s小时"%(except_time,num):(dt + offset_hours).strftime("%Y-%m-%d %H:%M:%S"),"日期%s前%s分钟"%(except_time,num):(dt - offset_minutes).strftime("%Y-%m-%d %H:%M:%S"),"日期%s后%s分钟"%(except_time,num):(dt + offset_minutes).strftime("%Y-%m-%d %H:%M:%S"),"日期%s前%s秒"%(except_time,num):(dt - offset_seconds).strftime("%Y-%m-%d %H:%M:%S"),"日期%s后%s秒"%(except_time,num):(dt + offset_seconds).strftime("%Y-%m-%d %H:%M:%S"),}print(data_dict)else:week_before = (datetime.datetime.now() - datetime.timedelta(weeks=num)).strftime("%Y-%m-%d %H:%M:%S")week_after = (datetime.datetime.now() + datetime.timedelta(weeks=num)).strftime("%Y-%m-%d %H:%M:%S")day_before = (datetime.datetime.now() - datetime.timedelta(days=num)).strftime("%Y-%m-%d %H:%M:%S")day_after = (datetime.datetime.now() + datetime.timedelta(days=num)).strftime("%Y-%m-%d %H:%M:%S")houre_before = (datetime.datetime.now() - datetime.timedelta(hours=num)).strftime("%Y-%m-%d %H:%M:%S")houre_after = (datetime.datetime.now() + datetime.timedelta(hours=num)).strftime("%Y-%m-%d %H:%M:%S")minute_before = (datetime.datetime.now() - datetime.timedelta(minutes=num)).strftime("%Y-%m-%d %H:%M:%S")minute_after = (datetime.datetime.now() + datetime.timedelta(minutes=num)).strftime("%Y-%m-%d %H:%M:%S")s_before = (datetime.datetime.now() - datetime.timedelta(seconds=num)).strftime("%Y-%m-%d %H:%M:%S")s_after = (datetime.datetime.now() + datetime.timedelta(seconds=num)).strftime("%Y-%m-%d %H:%M:%S")data_dict= {'当前时间%s周前' % num : week_before,'当前时间%s周后' % num : week_after,'当前时间%s天前' % num : day_before,'当前时间%s天后' % num : day_after,'当前时间%s小时前' % num : houre_before,'当前时间%s小时后' % num : houre_after,'当前时间%s分钟前' % num : minute_before,'当前时间%s分钟后' % num :  minute_after,'当前时间%s秒前' % num:  s_before,'当前时间 % s秒后' % num :  s_after,}print(data_dict)def zong(n):#n为循环次数i = 0while i < n:operation = input('输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,''1--将时间戳转换为字符串时间格式,''2--将字符串时间格式转化为时间戳,''3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时''4--暂定循环')if operation == '1':timestamp = input('请输入需要转换的时间戳')Timestamp_str(timestamp)elif operation == '2':times = input('请输入需要转化为时间戳的时间格式:2019-02-11 13:27:16')Str_Timestamp(times)elif operation == '3':num = input('请输入时间偏移量')k = input('请输入期望时间:默认格式2019-02-11 13:27:16,默认为当前时间,直接回车')Before_After(int(num), k)elif operation == '4':print('----已暂停----')breakelse:Times_Now()i += 1if __name__ == '__main__':n = input('请输入希望循环的次数')zong(int(n))

返回的结果是:

/Users/dongyue/Desktop/code/venv/bin/python /Users/dongyue/Desktop/code/learn/时间转换小工具.py
请输入希望循环的次数5
输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环
{'当前时间戳': 1577433619.6698182, '当前保留整数时间戳': 1577433619, '当前时间': '2019/12/27 16:00:19', '当前天数/周/星期': '今天是当年第361天-当年第51周-星期5'}输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环1
请输入需要转换的时间戳1577432627
2019-12-27 15:43:47输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环2
请输入需要转化为时间戳的时间格式:2019-02-11 13:27:162019-12-27 15:43:47
1577432627输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环3
请输入时间偏移量3
请输入期望时间:默认格式2019-02-11 13:27:16,默认为当前时间,直接回车
{'当前时间3周前': '2019-12-06 16:01:05', '当前时间3周后': '2020-01-17 16:01:05', '当前时间3天前': '2019-12-24 16:01:05', '当前时间3天后': '2019-12-30 16:01:05', '当前时间3小时前': '2019-12-27 13:01:05', '当前时间3小时后': '2019-12-27 19:01:05', '当前时间3分钟前': '2019-12-27 15:58:05', '当前时间3分钟后': '2019-12-27 16:04:05', '当前时间3秒前': '2019-12-27 16:01:02', '当前时间 3秒后': '2019-12-27 16:01:08'}输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环3
请输入时间偏移量3
请输入期望时间:默认格式2019-02-11 13:27:16,默认为当前时间,直接回车2019-12-27 15:43:47
{'日期2019-12-27 15:43:47前3天': '2019-12-24 15:43:47', '日期2019-12-27 15:43:47后3天': '2019-12-30 15:43:47', '日期2019-12-27 15:43:47前3周': '2019-12-06 15:43:47', '日期2019-12-27 15:43:47后3周': '2020-01-17 15:43:47', '日期2019-12-27 15:43:47前3小时': '2019-12-27 12:43:47', '日期2019-12-27 15:43:47后3小时': '2019-12-27 18:43:47', '日期2019-12-27 15:43:47前3分钟': '2019-12-27 15:40:47', '日期2019-12-27 15:43:47后3分钟': '2019-12-27 15:46:47', '日期2019-12-27 15:43:47前3秒': '2019-12-27 15:43:44', '日期2019-12-27 15:43:47后3秒': '2019-12-27 15:43:50'}输入相应的操作:请输入相应的时间节点,如果不输入直接回车,获取当前时间,1--将时间戳转换为字符串时间格式,2--将字符串时间格式转化为时间戳,3--获取当前时间的前后几天或者获取固定时间的前后几天或者几个小时4--暂定循环4
----已暂停----Process finished with exit code 0

不过目前还没有进行容错,后期再优化吧!

python实现时间戳和时间格式转换以及当前时间,特定时间的前后偏移相关推荐

  1. 将UTC时间格式转换成东八区时间格式

    在前后端数据接口通信中,后台返回的时间往往是 UTC 格式的                                     即2022-12-15T10:28:57.000+00:00这种, ...

  2. Java——时间戳和时间格式转换

    时间戳(TimeStamp):通常是一个字符序列,唯一地标志某一刻的时间.Java 中时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数. 一.获取时间戳的方式 1.Sy ...

  3. Mysql时间格式转换整理

    时间格式转换整理 Mysql里的时间格式转换有DATE_FORMAT().STR_TO_DATE(),本文主要列出详细时间格式. 延展阅读链接: 60个Mysql日期时间函数汇总 Step 1:了解当 ...

  4. python 时间格式转换,秒级和毫秒级时间戳转换

    1. 时间格式转换 # -*- coding=utf8 -*- import datetime import time import pytzutc = "2017-07-28T08:28: ...

  5. php把时间格式转换为时间戳,php如何将时间格式转换成时间戳?

    php时间格式转换为时间戳的方法:1.使用mktime()将时间转换为时间戳,语法为"mktime(小时.分钟.秒.月.日.年)":2.使用strtime()将字符串表示的日期转换 ...

  6. 时间格式的处理方法总结以及时间格式和时间戳之间的转换方式,以及如何计算日期相差的天数

    1.Date() --返回此刻的日期和时间. "Wed Aug 21 2019 10:07:20 GMT+0800 (中国标准时间)" 2.getDate() --从 Date 对 ...

  7. pandas 如何把时间转成index_pandas 时间格式转换的实现

    pandas 时间格式转换的实现 OUTLINE 常见的时间字符串与timestamp之间的转换 日期与timestamp之间的转换 常见的时间字符串与timestamp之间的转换 这里说的字符串不是 ...

  8. python中时间戳、字符串之间转换详解

    [转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...

  9. scala 时间格式转换(String、Long、Date)

    1)scala 时间格式转换(String.Long.Date) 1.时间字符类型转Date类型 [java] view plain copy import java.text.SimpleDateF ...

  10. uni-app时间格式转换

    已有时间戳 直接看代码 export default {data() {return { time:'1598346851',}},onLoad:function(){this.time = this ...

最新文章

  1. Generator-ing Values
  2. tsf php,TSF:腾讯推出的 PHP 协程方案
  3. 【Servlet】JSP学习-概念和运行原理
  4. python清空列表clear_如何在Python中清空列表?
  5. Babel+vscode实现APICloud开发中兼容ES6及以上代码
  6. 【 iview 实践指南】之如何优雅地在Table中嵌套Input(代码篇)
  7. python列表有固定大小吗_如何在python中创建固定大小的列表?
  8. 《大数据》第一届编委会顾问委员会议圆满召开
  9. 相关关系的显著性检验
  10. 3天学会MaxScript教程之(第一天:开始编写我们的第一个MaxScript)
  11. 取模运算和求余运算的区别
  12. 【opencv 450 Image Processing】Out-of-focus Deblur Filter失焦去模糊滤镜
  13. Vue+FusionCharts 动态获取数据生成甘特图
  14. [原创]和Taskmgr过不去篇(无厘头版)
  15. 云计算数据中心运维管理要点
  16. ctfshow密码easyrsa5
  17. 解决爱加密后百度地图不能正常使用
  18. VC6 各link错误解决
  19. 杨元庆:中国企业山寨之风依然盛行
  20. 模块学习(四)——超声波测距

热门文章

  1. 图像分割算法及与目标检测、目标识别、目标跟踪的关系
  2. PyTorch 之 Checkpoint 机制解析
  3. Web前端开发规范 之html命名规范
  4. springMVC入门二
  5. zabbix*邮件报警 *用户参数User parameters *定义key值 *Agentd主动模式与被动模式
  6. python网络编程(进程与多线程)
  7. Scrapy学习篇(十)之下载器中间件(Downloader Middleware)
  8. Android5.0特性阴影效果和裁剪
  9. springmvc中@PathVariable和@RequestParam的区别(百度收集)
  10. 深入浅出MVC框架模式