时间转换c#
简要
本篇文章主要介绍基于.net(c#)封装的时间帮助类。主要功能是将时间戳与DateTime类型相互转换。
1.其中包括将毫秒级时间戳(13位)、秒级时间戳(10位)转换为DateTime。
2.获取当前日期所在周的周一、周五时间。比如:今天是2018-11-8 周四 ,那么这周的周一2018-11-5则周五为2018-11-9。
讨论Q群:580749909
代码
public class DateHelper
{
private static DateTime _startTime;
private static DateTime _now;
private static DateTime _friday;
private static DateTime _monday; public static DateTime Now
{
get
{
if (_now == default(DateTime))
{
_now = DateTime.Now;
}
return _now;
}
} public static DateTime StartTime
{
get
{
if (_startTime == default(DateTime))
{
_startTime = new DateTime(Now.Year, Now.Month, Now.Day, 9, 30, 00);
}
return _startTime;
}
} /// <summary>
/// 获取当前时间所在周的星期五
/// </summary>
public static DateTime Friday
{
get
{
if (_friday == default(DateTime))
{
_friday = GetFriday();
}
return _friday;
}
} /// <summary>
/// 获取当前时间所在周的星期一
/// </summary>
public static DateTime Monday
{
get
{
if (_monday == default(DateTime))
{
_monday = GetMonday();
}
return _monday;
}
} /// <summary>
/// 计算本周起始日期(礼拜一的日期)
/// </summary>
/// <param name="someDate">该周中任意一天</param>
/// <returns>返回礼拜一日期,后面的具体时、分、秒和传入值相等</returns>
private static DateTime GetMonday()
{
DateTime someDate = Now;
int i = Now.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
} /// <summary>
/// 计算本周结束日期(礼拜五的日期)
/// </summary>
/// <param name="someDate">该周中任意一天</param>
/// <returns>返回礼拜日日期,后面的具体时、分、秒和传入值相等</returns>
private static DateTime GetFriday()
{
DateTime someDate = Now;
int i = someDate.DayOfWeek - DayOfWeek.Friday;
if (i != 0) i = Math.Abs(i);// 因为枚举原因,Sunday排在最前,此时差值要取绝对值。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
} /// <summary>
/// 毫秒级时间戳(长度13位)
/// </summary>
/// <param name="dateTime"></param>
/// <returns>int32</returns>
public static int ToJSTimeStamp32(DateTime dateTime) {
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
int timeStamp = (int)(dateTime - startTime).TotalMilliseconds; // 相差毫秒数
return timeStamp;
} /// <summary>
/// 毫秒级时间戳(长度13位)
/// </summary>
/// <param name="dateTime"></param>
/// <returns>int64</returns>
public static long ToJSTimeStamp64(DateTime dateTime) {
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
long timeStamp = (long)(dateTime - startTime).TotalMilliseconds; // 相差毫秒数
return timeStamp;
} /// <summary>
/// 秒级时间戳(长度10位)
/// </summary>
/// <param name="dateTime"></param>
/// <returns>int32</returns>
public static int ToUnixTimeStamp32(DateTime dateTime)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
int timeStamp = (int)(dateTime - startTime).TotalSeconds; // 相差秒数
return timeStamp;
} /// <summary>
/// 秒级时间戳(长度10位)
/// </summary>
/// <param name="dateTime"></param>
/// <returns>int64</returns>
public static long ToUnixTimeStamp64(DateTime dateTime) {
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
long timeStamp = (long)(dateTime - startTime).TotalSeconds; // 相差秒数
return timeStamp;
} /// <summary>
/// 将毫秒级时间戳(13)转换为时间
/// </summary>
/// <param name="unixTimeStamp"></param>
/// <returns></returns>
public static DateTime ToJSDateTime(long jsTimeStamp) {
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddMilliseconds(jsTimeStamp);
return dt;
} /// <summary>
/// 将秒级时间戳(10位)转换为时间
/// </summary>
/// <param name="unixTimeStamp"></param>
/// <returns></returns>
public static DateTime ToUnixDateTime(long unixTimeStamp)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddSeconds(unixTimeStamp);
return dt;
}
}
时间转换c#的更多相关文章
- [jquery]将当前时间转换成yyyymmdd格式
如题: function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate ...
- MySQL 日期、时间转换函数
MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...
- java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间
对于我的脑子,我已经服气了...写了N遍的东西,就是记不住...既然记不住那就记下来... 利用java获取当前的时间(String类型,年-月-日 时:分:秒) //我要获取当前的日期 Date d ...
- inner join ,left join ,right join 以及java时间转换
1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1 a12 a23 a3表bbid bdate1 ...
- Python基本时间转换
时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...
- Date类型时间转换
/* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...
- unix环境C编程之日期时间转换
1.理清概念 1.1.日历时间: 含义:国际标准时间1970年1月1日00:00:00以来经过的秒数. 数据类型:time_t.实际上是long的别名. 1.2.tm结构时间: 含义:结构 ...
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Js 处理将时间转换 “年-月-日”
将时间 \/Date(1432828800000+0800)\/" 转换成:“年-月-日” //时间转换function ChangeDateFormat(val) { if (v ...
- Java 时间转换问题总结
这几天开发中遇到时间转换出错的问题,特总结如下: ========================================================================= ...
随机推荐
- PHP stripslashes() 函数
实例 删除反斜杠: <?php高佣联盟 www.cgewang.comecho stripslashes("Who's Peter Griffin?");0.000.00.. ...
- PHP __construct() 函数
实例 函数创建一个新的 SimpleXMLElement 对象,然后输出 body 节点的内容:高佣联盟 www.cgewang.com <?php $note=<<<XML ...
- Python编程第四版中文 上下册完整版pdf|网盘下载附提取码
点击此处下载 提取码:drjh 作者简介 Mark Lutz是Python培训的世界的领先者,他是最初和最畅销的Python著作的作者,从1992年起就是Python社区的先锋人物.Mark有25年的 ...
- Python PIL方式打开的图片判断维度
1. PIL方式打开的图片判断维度 好久没更新啦,哈哈哈~~!今天跟宝宝们分享一篇如何判断灰度图像和彩色图像维度的方法.我们在读取灰度图像和彩色图像时,发现读取出来的图片维度不同,当我们要做后续 ...
- windows:shellcode 原理
shellcode,一段短小精干的代码,放在任何地方都能执行,不依赖当前所处环境,那么就有这么几点要求: 不能有全局变量:函数里的局部变量在栈空间,地址是执行的时候动态分配的:但全局变量在编译时,会由 ...
- JS实现call,apply,bind函数
实现之前的预备知识 ...用作展开 ...用作剩余参数 Object.create()的作用 原型链与构造函数 这些有时间补上吧 call函数实现 Function.prototype.myCall ...
- 题解 洛谷 P3332
题目描述 权值线段树套线段树板子题 首先观察题目,判断为二维偏序问题 操作1为区间修改,所以一定是外部线段树维护权值,内部线段树维护所在区间,否则时间复杂度爆炸qwq 为方便查找,哈希时我采用哈希每个 ...
- ubuntu开发机所需工具,做个记录,不断补充
文件搜索 FSearch 用了下可以, 类似windows下的Everything 或者mac的cmd+空格 地址 安装: sudo add-apt-repository ppa:christian- ...
- 【POJ2723】Get Luffy Out - 二分+2-SAT
题面描述 Ratish is a young man who always dreams of being a hero. One day his friend Luffy was caught by ...
- 微信小程序自动化测试最佳实践(附 Python 源码)
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...