练手——用Python写的时间戳转换为北京时间的小工具
#北京时间需加上8小时
bj = 8*3600
def time_stamp(times):
#一天总秒数
nonDaySeconds = 24*3600
leapmonths = [31,29,31,30,31,30,31,31,30,31,30,31]
nonleapmonths = [31,28,31,30,31,30,31,31,30,31,30,31]
#四年为一个周期,从1972年开始
fourYearDays = (366+365+365+365)
year = 0
currentDays = 0
sumDay = 0
month = 0
#计算自1970年以来经过的天数
nDays = int(times/nonDaySeconds)
#计算当天已经过了多少毫秒
currentDaySeconds = times%nonDaySeconds
#计算自1973年以来经过的多少个完整4年周期,并计算上一个闰年是哪一年
lastLeapYear = int((nDays-(365+365+366))/fourYearDays)*4+(1970+2)
#计算不足一个4年周期的天数
lDays = (nDays-(365+365+366))%fourYearDays
#print(lastLeapYear,lDays)
#判断当前属于四年周期的哪一年,并计算当年已经走过的总天数
if lDays < 365:
year = 1
currentDays = lDays
elif lDays< (365+365):
year = 2
currentDays = lDays - 365
elif lDays < (365+365+365):
year = 3
currentDays = lDays - 365 - 365
elif lDays < (365+365+365+366):
year = 4
currentDays = lDays - 365 - 365 - 365
currentYear = lastLeapYear + year
#print(currentYear,currentDays)
#计算几月几号
if year == 4:
#如果是闰年
for i in range(len(leapmonths)):
if sumDay <= currentDays:
sumDay += leapmonths[i]
month += 1
day = (currentDays - sumDay + 1) + leapmonths[month-1]
else:
for i in range(len(nonleapmonths)):
if sumDay <= currentDays:
sumDay += nonleapmonths[i]
month += 1
day = (currentDays - sumDay + 1) + nonleapmonths[month-1]
#print(month,day)
#计算时分秒
currentHour = int(currentDaySeconds/(60*60))
currentMinute = int((currentDaySeconds%(60*60))/60)
currentSeconds = (currentDaySeconds%(60*60))%60
#print(currentHour,currentMinute,currentSeconds)
print(str(currentYear)+' 年 '+judgetime(month)+' 月 '+judgetime(day)+' 日 '+
judgetime(currentHour)+':'+judgetime(currentMinute)+':'+judgetime(currentSeconds))
def judgetime(value):
if value < 10:
return '0' + str(value)
else:
return str(value)
练手——用Python写的时间戳转换为北京时间的小工具的更多相关文章
- 用Python写一个向数据库填充数据的小工具
一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...
- python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期
项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...
- JavaScript把客户端时间转换为北京时间
写在前面 写了一遍又一遍,网页老卡住,没保存下来,不写了. 时间转换代码 //获得北京时间 Date.prototype.getBJDate = function () { //获得当前运行环境时间 ...
- Python 将时间戳转换为本地时间并进行格式化
在python中,时间戳默认是为格林威治时间,而我们为东八区 使用localtime() 本地化时间戳 使用 strftime() 格式化时间戳 time = time.strftime('%Y%m% ...
- 几个非常适合练手的python爬虫项目,总有一个能搞定!
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Python玩家 注意:如果你平时学Python有问题找不到人解答,可以 ...
- 有哪些适合新手练手的Python项目?
http://blog.csdn.net/Lina_ACM/article/details/54581721
- 用Python写了个下载快手视频的小脚本
最近又重新拾起了,对python的热情. 贴个地址: https://github.com/d1y/lovepack/blob/master/kuaishou.py 前戏说明 因为我近乎癫狂的喜欢一个 ...
- Python写一个Windows下的android设备截图工具
界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: import wx,subprocess,o ...
- 使用js将Unix时间戳转换为普通时间
var unixtime=1358932051;formatTime (time) { let unixtime = time let unixTimestamp = new Date(unixtim ...
随机推荐
- js文档就绪函数
$(function(){ //执行的内容 }): $().ready(function(){ //执行的内容 }); $(document).ready(function(){ //执行的内容 }) ...
- 怎样将PDF文件转换成Excel表格
PDF文件怎样转换成Excel表格呢?因为很多的数据信息现在都是通过PDF文件进行传输的,所以很多时候,信息的接受者都需要将这些PDF文件所传输的数据信息转换成Excel表格来进行整理,但是我们应该怎 ...
- vue 引入字体库
1.先下载字体文件所需的.ttf文件 2.将字体文件引入 自己定义一个文件夹,放入下载好的.ttf文件 先自己定义一个font.css文件,将下载好的字体文件的路径引入 @font-face { fo ...
- mac chrome 强制刷新浏览器缓存
普通刷新 command + r 强制刷新 command + shift + r
- 《HTTP - 跨域》
本文参考 HTTP访问控制(CORS) 一:什么是跨域? - 所谓跨域, 是浏览器为了保护网站安全而建立的一种保护策略,既浏览器的同源策略. - 意味着使用这些API的Web应用程序只能从加载应用程序 ...
- Windows10 ntoskrnl.exe占用大量的磁盘空间(100%)
一.解决办法: 1.此电脑(右键)> 管理(点击)> 系统工具 > 任务计划程序 > 任务计划程序库 > Microsoft > windows > .NE ...
- 洛谷P4778 Counting swaps 数论
正解:数论 解题报告: 传送门! 首先考虑最终的状态是固定的,所以可以知道初始状态的每个数要去哪个地方,就可以考虑给每个数$a$连一条边,指向一个数$b$,表示$a$最后要移至$b$所在的位置 显然每 ...
- python 面试小基础
1. py2和py3的区别? 2. 进程 / 线程 / 协程的区别?
- VisualStudioCode创建的asp.net core项目部署到linux,使用nginx代理
1.准备工作: a:使用VisualStudioCode创建asp.net core项目,并使用命令“dotnet publish”发布(可以参考前面两篇文章). 如:dotnet publish - ...
- Vue中import引入模块路径时的@符号
1.ES6 模块主要有两个功能:export 和 import export:用户对外输出本模块(一个文件可以理解为一个模块,比如 aaa.js bbb.js)变量的接口 . import:用于在一个 ...