带小数点时间格式的转换(python)

本文介绍了如何使用Python的datetime和time模块进行时间操作,包括获取当前时间并加上三天,以及解析带有小数点的精确时间字符串。
部署运行你感兴趣的模型镜像
import datetime, time
#TODO 获取带小数点的时间
#当前时间加3天
t1 = datetime.datetime.now() + datetime.timedelta(days=3)
print(t1)

#TODO 将带小数点的时间字符串解析
t2 = time.strptime("2020-03-22 11:19:41.463759", "%Y-%m-%d %H:%M:%S.%f")
print(t2)

运行结果

2020-03-22 11:21:01.229948
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=22, tm_hour=11, tm_min=19, tm_sec=41, tm_wday=6, tm_yday=82, tm_isdst=-1)

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

小数点的进制转换需要将整数部分和小数部分分别进行处理,然后将结果合并。具体方法如下: ### 二进制转十进制 对于二进制数 `00010100.1`,整数部分为 `00010100`,小数部分为 `.1`。 1. **整数部分**: - 将二进制 `00010100` 转换为十进制。从右到左,每一位的权重是 $2^n$,其中 $n$ 是从 0 开始的位数索引。 - 计算:$0 \times 2^7 + 0 \times 2^6 + 0 \times 2^5 + 1 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 0 \times 2^0 = 16 + 4 = 20$ [^1]。 2. **小数部分**: - 将二进制 `.1` 转换为十进制。小数部分的每一位权重是 $2^{-n}$,其中 $n$ 是从 1 开始的位数索引。 - 计算:$1 \times 2^{-1} = 0.5$ [^1]。 3. **合并结果**: - 将整数部分和小数部分相加:$20 + 0.5 = 20.5$。 ### 十进制转二进制 对于十进制数 `38.24` 转换为二进制: 1. **整数部分**: - 除以 2,取余数,直到商为 0,余数倒序排列。 - 计算:$38 \div 2 = 19$ 余 0,$19 \div 2 = 9$ 余 1,$9 \div 2 = 4$ 余 1,$4 \div 2 = 2$ 余 0,$2 \div 2 = 1$ 余 0,$1 \div 2 = 0$ 余 1。 - 结果:`100110` [^3]。 2. **小数部分**: - 乘以 2,取整数部分,直到小数部分为 0 或达到所需精度。 - 计算:$0.24 \times 2 = 0.48$ 取 0,$0.48 \times 2 = 0.96$ 取 0,$0.96 \times 2 = 1.92$ 取 1,$0.92 \times 2 = 1.84$ 取 1,$0.84 \times 2 = 1.68$ 取 1。 - 结果:`.00111`(近似值) [^3]。 3. **合并结果**: - 将整数部分和小数部分合并:`100110.00111`。 ### 二进制转十六进制 对于二进制数 `110110.01` 转换为十六进制: 1. **整数部分**: - 从右到左,每 4 位一组,不足补 0,每组转换为一位十六进制数。 - 计算:`0011 0110` → `36` [^2]。 2. **小数部分**: - 从左到右,每 4 位一组,不足补 0,每组转换为一位十六进制数。 - 计算:`0100` → `.4` [^2]。 3. **合并结果**: - 将整数部分和小数部分合并:`36.4`。 ### 十进制转十六进制 对于十进制数 `42.6` 转换为十六进制: 1. **整数部分**: - 除以 16,取余数,直到商为 0,余数倒序排列。 - 计算:$42 \div 16 = 2$ 余 10(A),$2 \div 16 = 0$ 余 2。 - 结果:`2A` [^2]。 2. **小数部分**: - 乘以 16,取整数部分,直到小数部分为 0 或达到所需精度。 - 计算:$0.6 \times 16 = 9.6$ 取 9,$0.6 \times 16 = 9.6$ 取 9。 - 结果:`.99`(近似值) 。 3. **合并结果**: - 将整数部分和小数部分合并:`2A.99`。 ### 示例代码 #### 十进制转二进制 ```python def decimal_to_binary(number): integer_part = int(number) fractional_part = number - integer_part binary_integer = bin(integer_part).replace("0b", "") binary_fractional = "" while fractional_part > 0 and len(binary_fractional) < 8: fractional_part *= 2 bit = int(fractional_part) binary_fractional += str(bit) fractional_part -= bit return f"{binary_integer}.{binary_fractional}" print(decimal_to_binary(38.24)) # 输出近似值 ``` #### 二进制转十进制 ```python def binary_to_decimal(binary_str): integer_part, fractional_part = binary_str.split('.') decimal_integer = sum(int(bit) * (2 ** idx) for idx, bit in enumerate(reversed(integer_part))) decimal_fractional = sum(int(bit) * (2 ** -(idx + 1)) for idx, bit in enumerate(fractional_part)) return decimal_integer + decimal_fractional print(binary_to_decimal("110110.01")) # 输出 54.25 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值