时间戳与时间互相转换的函数

该代码提供两个JavaScript函数,TO_DATE和TO_DATE_YMD,用于将时间戳转换为日期格式。TO_DATE函数返回完整日期和时间,而TO_DATE_YMD仅返回年-月-日格式的日期。这两个函数检查时间戳的长度并适当地转换为毫秒,然后使用Date对象解析并格式化日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间戳转时间

// 时间戳转时间
function TO_DATE(pt) { // 时间戳转换
    if(pt && pt.length>10){ // 将秒数转换为毫秒,时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var time = pt;
    }else {
        var time = pt*1000;
    }          
    var timeDate = new Date(time);  //将毫秒数转化为真实时间

    var yy = timeDate.getFullYear();	//年份
    
    var m = timeDate.getMonth()+1;	    //月份
    var mm = "";
    if(m<10){ mm="0"+m; }else{ mm=m; }  
    
    var d = timeDate.getDate();         //日期
    var dd = "";
    if(d<10){ dd="0"+d; }else{ dd=d; }

    var h = timeDate.getHours();        //时
    var hh = "";
    if(h<10){ hh="0"+h; }else{ hh=h; }

    var mi = timeDate.getMinutes();     //分
    var mmi = "";
    if(mi<10){ mmi="0"+mi; }else{ mmi=mi; }

    var s = timeDate.getSeconds();      //秒
    var ss = "";
    if(s<10){ ss="0"+s; }else{ ss=s; }

    var date = yy+"-"+mm+"-"+dd+" "+hh+":"+mmi+":"+ss;
    return date;
}
function TO_DATE_YMD(pt) { // 时间戳转换
    if(pt.length>10){ // 将秒数转换为毫秒,时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var time = pt;
    }else {
        var time = pt*1000; 
    }          
    var timeDate = new Date(time);  //将毫秒数转化为真实时间

    var yy = timeDate.getFullYear();	//年份
    
    var m = timeDate.getMonth()+1;	    //月份
    var mm = "";
    if(m<10){ mm="0"+m; }else{ mm=m; }  
    
    var d = timeDate.getDate();         //日期
    var dd = "";
    if(d<10){ dd="0"+d; }else{ dd=d; }

    var date = yy+"-"+mm+"-"+dd;
    return date;
}
module.exports = {
    TO_DATE,
    TO_DATE_YMD
}

时间转时间戳(xxxx-xx-xx格式)

Date.parse(new Date(Time).toString())
### C++ 中日期时间时间戳之间的相互转换 在 C++ 中,可以利用 `<chrono>` 库来实现日期时间时间戳之间的转换。下面分别介绍两种方向的转换方法。 #### 将日期时间转换时间戳 为了将具体的日期时间(年、月、日、时、分、秒)转换成 Unix 时间戳,在现代 C++ (C++11 及以上版本) 中可以通过 `std::chrono` 来完成此操作: ```cpp #include <iostream> #include <chrono> int main() { using namespace std::chrono; // 定义具体的时间点 auto tp = sys_days{January/1, 2023} + hours(8); // 转换为自纪元以来的秒数表示形式即Unix时间戳 auto epoch_time = time_point_cast<seconds>(tp).time_since_epoch().count(); std::cout << "Timestamp: " << epoch_time << '\n'; } ``` 上述代码片段展示了如何创建特定的日期时间并将其转为基于秒的时间戳[^1]。 #### 将时间戳转换回日期时间 对于从时间戳恢复到可读性的日期时间格式,则同样依赖于 `std::chrono` 提供的功能来进行逆向处理: ```cpp #include <iostream> #include <iomanip> #include <sstream> #include <chrono> int main(){ using namespace std::chrono; // 假设有一个给定的时间戳 int64_t timestamp = 1704086400; // 对应的是2024-01-01T00:00:00Z system_clock::time_point tp(seconds(timestamp)); // 使用put_time函数打印出本地时间字符串 auto local_tm = current_zone()->to_local(tp); std::stringstream ss; ss << std::put_time(&local_tm, "%Y-%m-%d %H:%M:%S"); std::string formattedTime = ss.str(); std::cout << "Formatted Date Time: " << formattedTime << "\n"; } ``` 这段程序说明了怎样把整型变量存储的时间戳解析成为人类易于理解的标准日期时间格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值