当前位置: 首页 > news >正文

rust - 常用时间处理

本文提供了一些常用的时间处理函数。

use chrono::prelude::*;
use std::time::SystemTime;

const DATETIME_FORMAT: &str = "%Y-%m-%d %H:%M:%S";

将当前时间转换为UTC时区的字符串格式

pub fn format_datetime() -> String {
    let now = Utc::now();
    return now.format("%Y-%m-%d %H:%M:%S").to_string();
}

pub fn format_date() -> String {
    let now = Utc::now();
    return now.format("%Y-%m-%d").to_string();
}

将 SystemTime 转换为指定格式的字符串


/// 将 SystemTime 转换为字符串格式
pub fn format_system_time(st: SystemTime) -> String {
    // 获得本机时间
    let local_datetime: DateTime<Local> = st.clone().into();
    // 将本机时间格式化为字符串
    local_datetime.format(DATETIME_FORMAT).to_string()
}

将 SystemTime 转换为UNIX时间戳

/// 将 SystemTime 转换为UNIX时间戳的秒表示
pub fn to_seconds(st: SystemTime) -> i64 {
    let local_datetime: DateTime<Local> = st.clone().into();
    local_datetime.timestamp()
}

/// 将 SystemTime 转换为UNIX时间戳的毫秒表示
pub fn to_mill_seconds(st: SystemTime) -> i64 {
    let local_datetime: DateTime<Local> = st.clone().into();
    local_datetime.timestamp_millis()
}

获得当前时间戳

/// 获得当前时间戳
pub fn now_to_seconds() -> i64 {
    let now = Local::now();
    now.timestamp()
}

时间字符串转换为 SystemTime

pub fn to_system_time(datetime_str: &str) -> SystemTime {
    let no_timezone =
        NaiveDateTime::parse_from_str(datetime_str, DATETIME_FORMAT).unwrap();
    Local.from_local_datetime(&no_timezone).unwrap().into()
}
http://www.dtcms.com/a/9788.html

相关文章:

  • React中使用antDesign框架
  • 超图打开不同格式的dem文件
  • Navicat 干货 | 通过检查约束确保 PostgreSQL 的数据完整性
  • Python位操作指南:从基础到应用
  • 【黑马头条】-day04自媒体文章审核-阿里云接口-敏感词分析DFA-图像识别OCR-异步调用MQ
  • 新能源充电桩站场AI视频智能分析烟火检测方案及技术特点分析
  • ctf题目
  • 【C++】C到C++的入门知识
  • Lua热更新(xlua)
  • 解锁背包问题:C++实现指南
  • pytorch中torch.stack()用法虽简单,但不好理解
  • Vue3中如何挂载全局属性
  • 基于Python的电商特产数据可视化分析与推荐系统
  • debian12,linux-image-6.6.13+bpo-amd64内核nvidia显卡驱动失效
  • Uibot6.0 (RPA财务机器人师资培训第4天 )批量开票机器人案例实战
  • XUbuntu22.04之激活Linux最新Typora版本(二百二十五)
  • 一些基本类上实用的注解及例子
  • 鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题
  • 给web开发零基础小白的简明入门教程
  • Go语言HTTP服务实现GET和POST请求的同时支持
  • 【EasyExcel】多sheet、追加列
  • win10下androidstudio的配置与gradle配置
  • npm 常用命令详解
  • 设计模式深度解析:AI如何影响装饰器模式与组合模式的选择与应用
  • 蓝桥杯刷题第四天
  • 排序——非基于比较的排序
  • Linux线程互斥
  • (C语言)球球大作战
  • Day54:WEB攻防-XSS跨站Cookie盗取表单劫持网络钓鱼溯源分析项目平台框架
  • MoonBit MeetUp回顾——张正、宗喆:编程语言在云原生与区块链领域的技术探索