广告
返回顶部
首页 > 资讯 > 服务器 >Windows时间与Unix时间怎么转换
  • 678
分享到

Windows时间与Unix时间怎么转换

unixwindows 2022-12-06 13:12:09 678人浏览 泡泡鱼
摘要

这篇文章主要介绍了windows时间与Unix时间怎么转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows时间与Unix时间怎么转换文章都会有所收获,下面我们一起来

这篇文章主要介绍了windows时间与Unix时间怎么转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows时间与Unix时间怎么转换文章都会有所收获,下面我们一起来看看吧。

首先,我们在读取并解析用ldap协议查询出来的AD域用户账号过期时间,将Window NT转换为Unix时间;

其次,在创建用户的时候,根据提交的工单信息,需要为新账号指定一个过期时间,将当前Unix时间加上几个月的过期时间,赋值给accountExpires

最后,当有账号已经过期,使用不了的时候,用户会提交账号重新激活工单,自动为该账号续期;【一:账号正常过期,续6个月之类的; 二:重复提交创建账号申请,不处理发企业微信通知告知已经有账号了,告知对方账号创建和最后修改时间,让对方查看企业微信消息/邮件,如果没有找到账号密码消息,请直接提交密码找回工单(将收到账号和新密码)】

golang原生time包的Duration时间段

仅仅支持最大为290年的时间段,而windows nt时间为1601年开始,到现今是420多年,根本无法适配,在不采用第三方库的情况下该如何处理呢? 犯迷糊了,怎么将unix时间转换为nt时间,则反过来计算只需要计算出正确的unix时间戳然后将时间戳转换为时间类型即可。

// maxDuration Duration = 1<<63 - 1
fmt.Println(time.Duration(1<<63 - 1))
2562047h57m16.854775807s
292.47111872146 年

Window NT 时间转换为 Unix 时间

// Window NT 时间转换为 Unix 时间
func NtToUnix(ntTime int64) (unixTime time.Time) {
	ntTime = (ntTime - 1.1644473600125e+17) / 1e+7
	return time.Unix(int64(ntTime), 0)
}

测试

func TestNtTimeToDatetime(t *testing.T) {
	// 取当前时间转换为nt时间
	timestamp := time.Now().Unix()*1e+7 + 1.1644473600125e+17
	fmt.Println(timestamp)
	// 将nt时间转换为unix时间
	res := NtToUnix(timestamp)
	fmt.Println(res)
}

Unix 时间转换为 Window NT 时间

// Unix 时间转换为 Window NT 时间
func UnixToNt(expireTime time.Time) (ntTimestamp int64) {
	ntTimestamp = expireTime.Unix()*int64(1e+7) + int64(1.1644473600125e+17)
	return
}

测试

func TestUnixTimeToNtTime(t *testing.T) {
	// 当前时间
	unixTime := time.Now()
	// 当前时间往后推迟6个月
	unixTime.ADDDate(0, 6, 0)
	res := UnixToNt(unixTime)
	fmt.Println(res)
}

用户过期期限处理

// 用户过期期限处理 月份为-1 则过期时间为永久;否则 当前时间往后推迟expireMouths个月
func expireTime(expireMouths int64) (expireTimestamp int64) {
	expireTimestamp = 9223372036854775807
	if expireMouths != -1 {
		expireTimestamp = util.UnixToNt(time.Now().AddDate(0, int(expireMouths), 0))
	}
	return
}

python中的写法

import datetime
import time

from dateutil.relativedelta import relativedelta


def expire_time(expire_mouths: int) -> int:
    '''用户账号过期逻辑
    '''
    expire_timestamp = 9223372036854775807
    if expire_mouths != -1:
        expire_timestamp = unix_2_nt(
            datetime.datetime.now() + relativedelta(months=expire_mouths))
    return expire_timestamp


def unix_2_nt(expire_time: datetime) -> int:
    '''Unix 时间转换为 Window NT 时间
    '''
    return time.mktime(expire_time.timetuple()) * 1e+7 + 1.1644473600125e+17


def nt_2_unix(nt_time):
    '''winows时间转换为unix时间
    '''
    return datetime.datetime(1601, 1, 1) + datetime.timedelta(microseconds=nt_time//10)


if __name__ == '__main__':
    print(expire_time(6))
    print(nt_2_unix(1.3281000774125e+17))

关于“Windows时间与Unix时间怎么转换”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Windows时间与Unix时间怎么转换”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程服务器栏目。

--结束END--

本文标题: Windows时间与Unix时间怎么转换

本文链接: https://www.lsjlt.com/news/174092.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Windows时间与Unix时间怎么转换
    这篇文章主要介绍了Windows时间与Unix时间怎么转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows时间与Unix时间怎么转换文章都会有所收获,下面我们一起来...
    99+
    2022-12-06
    unix windows
  • 怎么将Java时间转换成unix时间戳
    怎么将Java时间转换成unix时间戳?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体内容如下import java.text.DateFormat; i...
    99+
    2023-05-30
    java unix 时间戳
  • Java怎么与Unix时间戳进行转换
    今天就跟大家聊聊有关Java怎么与Unix时间戳进行转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。方法实现    public ...
    99+
    2023-05-30
    java unix 时间戳
  • php怎么转换unix时间戳
    在开发网站和应用程序时,我们经常需要处理时间和日期。在PHP中,时间戳是一个很常见的时间格式,它表示自1970年1月1日0时0分0秒(UTC)起已经经过的秒数。但是,Unix时间戳显示的时间格式并不人性化,因此在实际应用中我们需要将其转换为...
    99+
    2023-05-14
    php时间戳 php
  • python unix时间戳与正常时间转
            有时候业务需要,需要把正常的时间格式与unix时间戳格式进行转换。       在python中转化方式如下,直接利用time中的函数: #! /usr/bin/env python #coding:utf-8 impo...
    99+
    2023-01-31
    时间 python unix
  • 怎么用php将时间转unix时间
    这篇文章主要介绍“怎么用php将时间转unix时间”,在日常操作中,相信很多人在怎么用php将时间转unix时间问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用php将时间转unix时间”的疑惑有所帮助!...
    99+
    2023-07-04
  • 【python】时间与时间戳互相转换
    全文一览 一、时间戳转换为时间1.0 获取时间戳1.1 datetime 法1.2 time 法 二、时间转化为时间戳 时间戳 : ,1683876941.119018 时间格式: ...
    99+
    2023-09-02
    python 数据结构 开发语言
  • Unix、UTC、GPS时间戳及转换
    UTC时间 UTC时间的英文全称:Universal Time Coordinated,中文名称:协调世界时。俗的理解为,这个时间是全世界通用的,即全世界都公用的一个时间。可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间...
    99+
    2023-08-18
    unix linux 服务器
  • 如何将 Unix 时间戳转换为 MySQL 时间戳值?
    MySQL 借助 FROM_UNIXTIME() 函数将 Unix 时间戳转换为时间戳数据类型值。示例mysql> Select FROM_UNIXTIME(1508622563); +-------------------...
    99+
    2023-10-22
  • 利用Java怎么将时间与时间戳进行转换
    本篇文章给大家分享的是有关利用Java怎么将时间与时间戳进行转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。时间戳(timestamp),一个能表示一份数据在某个特定时间之前...
    99+
    2023-05-31
    java 时间戳 ava
  • php时间如何转unix时间戳
    这篇文章主要介绍“php时间如何转unix时间戳”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php时间如何转unix时间戳”文章能帮助大家解决问题。使用 time() 函数获取当前时间的 Unix...
    99+
    2023-07-05
  • mysql UNIX时间戳与日期的相互转换
    UNIX时间戳转换为日期用函数: FROM_UNIXTIME()select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP(...
    99+
    2022-10-18
  • mysql 中怎么将UNIX时间戳与日期进行转换
    mysql 中怎么将UNIX时间戳与日期进行转换,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。UNIX时间戳转换为日期用函数F...
    99+
    2022-10-18
  • php时间转unix时间戳的代码怎么写
    这篇文章主要讲解了“php时间转unix时间戳的代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php时间转unix时间戳的代码怎么写”吧!使用strtotime函数strtotim...
    99+
    2023-07-05
  • JS实现获取时间已经时间与时间戳转换
    目录获取当前月的第一天获前取n天日期根据两个日期,判断相差天数根据bai两个日期,判断相差月数获取几个月前的输入日期时间戳转换时间时间戳转换时间 - 无时分秒时间戳转换时间-无日期获...
    99+
    2022-11-13
  • Java中实现时间与时间戳的转换
    public static void main(String[] args) { // 格式化日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ...
    99+
    2023-09-30
    java python 开发语言
  • C语言Unix时间戳与本地时间的转化
    本篇内容主要讲解“C语言Unix时间戳与本地时间的转化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言Unix时间戳与本地时间的转化”吧!前言我们平常说时间都说的几点几分几秒,星期几,但是在...
    99+
    2023-06-06
  • javascript怎么转换时间
    这篇文章主要介绍了javascript怎么转换时间,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。javascript转换时间的方法:创建一个【util.js】文件,在里面重新...
    99+
    2023-06-14
  • PHP中怎么将时间转换成时间戳
    本篇内容主要讲解“PHP中怎么将时间转换成时间戳”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中怎么将时间转换成时间戳”吧!PHP中有两种时间表示方式,一种是时间戳,一种是日期格式。时间戳...
    99+
    2023-07-05
  • php中的时间戳怎么转换成时间
    在php中,可以使用date()函数来将时间戳转换为日期时间,该函数可以将时间戳格式化为可读性更好的日期和时间;语法格式“date(format,时间戳)”,参数format用于指定格式化字符,设置要转换成的日期格式,例如“Y-m-d H:...
    99+
    2023-05-14
    php 时间戳 php日期时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作