简单的CST 时间转换 为常用时间格式

本文介绍了一种将CST时间格式转换为常规显示格式的方法。通过使用JSP标签库,可以轻松地将从后台获取的CST时间转换为常见的日期时间格式,如yyyy-MM-dd HH:mm:ss。

本人数据库存储的时间类型是date型,后台取到的时间是CST 形式,可以通过时间工具类转换后再页面上显示成我们常用的时间格式,也可以通过下面的这个方法;


如果从后台取到的时间是这种形式:Tue Jul 31 11:37:41 CST 2012

可以使用标签库进行装换,具体如下:

1、在页面进入该标签:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>



2、value参数就是从后台取到的时间: 
<fmt:formatDate value="${dateTime}" pattern="yyyy-MM-dd HH:mm:ss"/>



这个标签库功能应该强大,以上只是CST时间的转换,应该还可以转其他时间格式。

<think>我们已有多个引用展示了如何将时间转换为日期时间格式,用户明确要求将时间转换为可读的日期时间格式。根据引用,我们可以总结几种常用方法,并注意区问题。引用[1]使用pandas,引用[2][3][4]使用time模块,引用[5]使用datetime模块。注意:时间戳可能是秒级(10位)或毫秒级(13位)或更细(如纳秒),需要适当处理。我们将提供以下方法:1.使用time模块(适用于秒级时间戳)2.使用datetime模块(可处理不同精度)3.使用pandas(适用于数据分析和处理)另外,注意区:时间戳通常是UTC,而转换成本地时间(如CST)可能需要考虑区。但默认转换是本地区(即系统区),如果需要UTC,则需调整。步骤:1.判断时间戳的位数(或单位)以确定如何转换(秒、毫秒、微秒等)。2.使用相应模块转换。我们将分别展示:方法1:使用time模块(秒级时间戳)方法2:使用datetime模块(可处理秒、毫秒等)方法3:使用pandas(适合数据框中的列转换)同,我们也会说明如何指定区(如转换为UTC时间或指定区)。根据用户要求,我们主要生成可读的字符串格式,如"%Y-%m-%d%H:%M:%S"。</think>在 Python 中将时间转换为可读的日期时间格式有多种方法,以下是三种常用且可靠的方式,支持不同精度的时间转换: ### 方法 1:使用 time 模块(推荐用于秒级时间戳) ```python import time # 10位秒级时间戳(常见格式) timestamp = 1718105620 # 转换为本地时间格式 time_array = time.localtime(timestamp) formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_array) print(formatted_time) # 输出: 2024-06-10 15:33:40 # 转换为UTC时间格式 utc_time = time.gmtime(timestamp) utc_formatted = time.strftime("%Y-%m-%d %H:%M:%S UTC", utc_time) print(utc_formatted) # 输出: 2024-06-10 07:33:40 UTC ``` > **关键点** > - `localtime()` 转换为本地区 > - `gmtime()` 转换为UTC区 > - 支持自定义格式:`%Y`(年), `%m`(月), `%d`(日), `%H`(), `%M`(分), `%S`(秒)[^2][^3] ### 方法 2:使用 datetime 模块(推荐处理不同精度) ```python from datetime import datetime # 处理不同精度时间戳 timestamps = [ 1718105620, # 秒级(10位) 1718105620123, # 毫秒级(13位) 1718105620123456 # 微秒级(16位) ] for ts in timestamps: # 自动识别精度并转换 dt = datetime.fromtimestamp(ts / (10**9 if ts > 1e15 else 10**3 if ts > 1e12 else 1)) print(dt.strftime("%Y-%m-%d %H:%M:%S.%f")) ``` > **输出示例** > `2024-06-10 15:33:40.000000` > `2024-06-10 15:33:40.123000` > `2024-06-10 15:33:40.123456` > **优势**:自动处理秒/毫秒/微秒级时间戳[^4][^5] ### 方法 3:使用 pandas(适合数据分析) ```python import pandas as pd # 批量转换时间戳列表 timestamps = [1718105620, 1718110000, 1718123400] # 转换为可读格式 df = pd.DataFrame({"timestamp": timestamps}) df["datetime"] = pd.to_datetime(df["timestamp"], unit="s").dt.strftime("%Y-%m-%d %H:%M") print(df) ``` > **输出** ``` timestamp datetime 0 1718105620 2024-06-10 15:33 1 1718110000 2024-06-10 16:46 2 1718123400 2024-06-10 20:30 ``` > **适用场景**:处理CSV/Excel中的时间戳列[^1] ### 区处理注意事项 1. **默认行为**:`time.localtime()`和`datetime.fromtimestamp()`使用系统区 2. **显式指定区**: ```python from datetime import datetime, timezone # 转换为UTC+8区 dt_utc8 = datetime.fromtimestamp(1718105620, tz=timezone.utc).astimezone(timezone(timedelta(hours=8))) print(dt_utc8.strftime("%Y-%m-%d %H:%M:%S %Z")) # 输出: 2024-06-10 23:33:40 UTC+08:00 ``` ### 格式说明符参考表 | 符号 | 含义 | 示例 | |------|------------|-----------| | `%Y` | 四位年份 | 2024 | | `%m` | 两位月份 | 06 | | `%d` | 两位日期 | 10 | | `%H` | 24小 | 15 | | `%M` | 分钟 | 33 | | `%S` | 秒 | 40 | | `%f` | 微秒 | 123456 | | `%Z` | 区名 | UTC |
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值