.Net C# 时间戳时间转换
闲话不多说,直接上代码
/// <summary>
/// 时间拓展
/// </summary>
public static class DateTimeExtension
{
/// <summary>
/// 获取时间戳
/// </summary>
/// <param name="dt">时间</param>
/// <param name="millisecond">是否毫秒级,true毫秒级(默认值)</param>
/// <returns></returns>
public static long ToTimestamp(this DateTime dt, bool millisecond = true)
{
/*
* ticks的单位是100纳秒,1 Tick=100纳秒,所以需要除以10000000(秒),10000(毫秒)
* s(秒),ms(毫秒),μs(微秒),ns(纳秒),1s=1000ms,1 ms=1000μs,1μs=1000ns
*/
int divisor = millisecond ? : ;
long dt_ticks = dt.ToUniversalTime().Ticks;
return (dt_ticks - Const.TiksUtc1970) / divisor;
} /// <summary>
/// 时间戳转换成时间,返回NULL则说明转换失败(如时间戳无效)
/// </summary>
/// <param name="timestamp">时间戳</param>
/// <param name="millisecond">是否毫秒级,true毫秒级(默认值)</param>
/// <param name="localTime">是否输出本地时间,true本地时间(默认值)</param>
/// <returns></returns>
public static DateTime? ToDateTime(this long timestamp, bool millisecond = true, bool localTime = true)
{
try
{
int ms = millisecond ? : ;
var dt = new DateTime(Const.TiksUtc1970 + timestamp * ms, DateTimeKind.Utc);
if (localTime)
dt.ToLocalTime();
return dt;
}
catch
{
return null;
}
} /// <summary>
/// 时间戳转换成时间
/// </summary>
/// <param name="timestamp">时间戳</param>
/// <param name="millisecond">是否毫秒级,true毫秒级(默认值)</param>
/// <param name="localTime">是否输出本地时间,true本地时间(默认值)</param>
/// <returns></returns>
public static DateTime? ToDateTime(this string timestamp, bool millisecond = true, bool localTime = true)
{
if (long.TryParse(timestamp, out long ts))
{
return ts.ToDateTime(millisecond, localTime);
}
return null;
}
}
/// <summary>
/// 常量定义
/// </summary>
public class Const
{
/// <summary>
/// 日期时间格式化
/// </summary>
public const string DateTimeFormatString = "yyyy-MM-dd HH:mm:ss"; /// <summary>
/// 日期时间格式化
/// </summary>
public const string DateHmFormatString = "yyyy-MM-dd HH:mm"; /// <summary>
/// 日期格式化
/// </summary>
public const string DateFormatString = "yyyy-MM-dd"; /// <summary>
/// utc 1601-1-1 到 utc 1970-1-1 的 Ticks
/// </summary>
public const long TiksUtc1970 = ;
}
.Net C# 时间戳时间转换的更多相关文章
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Shell日期时间和时间戳的转换
Gitlab的备份文件是以时间戳显示的,类似:1438624820_gitlab_backup.tar 为了更易于阅读,想把文件名转换成日期格式:2015-08-04_gitlab_backup.ta ...
- mysql 日期操作 增减天数、时间转换、时间戳(转)
转自http://www.cnblogs.com/wenzichiqingwa/archive/2013/03/05/2944485.html http://hi.baidu.com/juntao_l ...
- mysql 日期操作 增减天数、时间转换、时间戳(转换)
http://hi.baidu.com/juntao_li/item/094d78c6ce1aa060f6c95d0b MySQL datediff(date1,date2):两个日期相减 date1 ...
- C#中系统时间和UNIX时间戳互相转换
在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年 ...
- python 时间和时间戳的转换
对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种: 将时间转换 ...
- python 时间、日期、时间戳的转换
在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等 ...
- mysql小知识点汇总---(时间与时间戳的转换, 修改mysql用户名密码, navicate 导入sql文件报错 1153)
1. 时间与时间戳的转换 1.1 时间戳转时间 FROM_UNIXTIME(add_time, '%Y-%m-%d') 1.2 时间转时间戳 UNIX_TIMESTAMP('2015-04-29') ...
- 时间戳显示为多少分钟前,多少天前的JS处理,JS时间格式化,时间戳的转换
var dateDiff = function (timestamp) { // 补全为13位 var arrTimestamp = (timestamp + '').split(''); for ( ...
随机推荐
- Flex带Checkbox的Tree
想把Flex自带的Tree控件改成带有checkbox的样式. 原本以为同DataGrid一样,添加一个ItemRenderer就行,结果发现行不通. 进Tree控件的源码看了一下,发现Tree在自己 ...
- 扛把子组20191031-2 Beta阶段贡献分配规则
此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9910 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 刘信鹏 B ...
- 新闻实时分析系统 大数据Web可视化分析系统开发
1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...
- python爬虫项目-一见倾心壁纸
方法1 import re import urllib import urllib.request def getHtml(url): page = urllib.request.urlopen(ur ...
- Linux -- 信号发送实现
信号是Linux系统响应某些条件而产生的一个事件,接收该信号的进程会响应地采取一些行动 signal 定义 在进程控制块 (PCB Process Control Block) 的数据结构中,存在 ...
- day20191120笔记
1.spring的优势 U盘拷.总结.微信公众号:.2.笔试,课前默写,默完之后要回答问题.3.微服务,带着,知识点,卷子.ssm整个东西讲一下.面试是综合能力.背面试题. 通过基础很重要.学精烂熟于 ...
- Integer的比较==和String的比较==总结
一.序言 今天发现了一个很有趣的问题,在群里和朋友们讨论的也比较激烈,我现在给大家阐述一下问题. 二.发现问题 上代码... package com.hzwealth.test.question; p ...
- AVLTree的Python实现
AVLTree 自己最近在学习数据结构,花了几天理解了下AVLTree的实现,简单一句话概括就是先理解什么是旋转,然后弄明白平衡因子在各种旋转后是如何变化的.最后整理了下学习的过程,并尽量用图片解释, ...
- 部署高可用 schduler
目录 创建 kube-scheduler 证书和私钥 创建和分发 kubeconfig 文件 创建 kube-scheduler 配置文件 创建kube-scheduler启动文件 启动kube-sc ...
- 安装nvm管理多版本nodejs
1.简介(什么是nvm) Node Version Manager(node版本管理器),用它在机器上安装并维护管理多个Node的版本 2.nvm临时切换(临时切换版本,只在当前终端内有效,新开终端无 ...