如何实现Unix时间戳的转换

Unix时间戳是指从1970年1月1日 00:00:00 UTC到指定时间的秒数,它是一种表示时间的方式,也称为Epoch时间。

转换方法:
将Unix时间戳除以60,得到分钟数。
将分钟数除以60,得到小时数。
将小时数除以24,得到天数。
天数加上1970年1月1日,得到具体的日期。
如果需要考虑时分秒,则可以将总秒数对60取余得到秒数,再对60取余得到分钟数,再对24取余得到小时数。

  1. Python:

         import time
         from datetime import datetime
    
         # Unix时间戳转换为日期时间字符串
         def timestamp_to_datetime(timestamp):
             return datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
    
         # 日期时间字符串转换为Unix时间戳
         def datetime_to_timestamp(datetime_str):
             return int(datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S').timestamp())
    
         # 示例
         timestamp = time.time()
         datetime_str = timestamp_to_datetime(timestamp)
         print(f"Unix Timestamp to Datetime: {datetime_str}")
    
         new_timestamp = datetime_to_timestamp(datetime_str)
         print(f"Datetime to Unix Timestamp: {new_timestamp}")
    
  2. JavaScript:

         // Unix时间戳转换为日期时间字符串
         function timestampToDatetime(timestamp) {
             const date = new Date(timestamp * 1000);
             return date.toISOString().replace('T', ' ').slice(0, 19);
         }
    
         // 日期时间字符串转换为Unix时间戳
         function datetimeToTimestamp(datetimeStr) {
             const date = new Date(datetimeStr);
             return Math.floor(date.getTime() / 1000);
         }
    
         // 示例
         const timestamp = Math.floor(Date.now() / 1000);
         const datetimeStr = timestampToDatetime(timestamp);
         console.log(`Unix Timestamp to Datetime: ${datetimeStr}`);
    
         const newTimestamp = datetimeToTimestamp(datetimeStr);
         console.log(`Datetime to Unix Timestamp: ${newTimestamp}`);
    
  3. Java:

         import java.text.SimpleDateFormat;
         import java.util.Date;
    
         public class UnixTimestampConverter {
             // Unix时间戳转换为日期时间字符串
             public static String timestampToDatetime(long timestamp) {
                 Date date = new Date(timestamp * 1000);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 return sdf.format(date);
             }
    
             // 日期时间字符串转换为Unix时间戳
             public static long datetimeToTimestamp(String datetimeStr) throws Exception {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Date date = sdf.parse(datetimeStr);
                 return date.getTime() / 1000;
             }
    
             public static void main(String[] args) throws Exception {
                 long timestamp = System.currentTimeMillis() / 1000;
                 String datetimeStr = timestampToDatetime(timestamp);
                 System.out.println("Unix Timestamp to Datetime: " + datetimeStr);
    
                 long newTimestamp = datetimeToTimestamp(datetimeStr);
                 System.out.println("Datetime to Unix Timestamp: " + newTimestamp);
             }
         }
    

在线工具:https://www.techtoolkit.cn/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值