.NET日期时间处理
来源:互联网 发布:qq纯真ip数据库 编辑:程序博客网 时间:2024/06/07 04:59
时间日期
1.DateTime.ParseExact
很多时候我们获取的时间是数字形式表示的,好比20140127134015.927856,通过这个方法
DateTime.ParseExact("20140127134015.927856", "yyyyMMddHHmmss.ffffff", null);就会得到正确的时间格式数据。
2.Guid数据常见的是 10244798-9a34-4245-b1ef-9143f9b1e68a形式,通过就会是102447989a344245b1ef9143f9b1e68a形式,去除不想要的-符号
guid.ToString("N");DateTime.Now.ToString("d") ;//获取到的日期格式为eg :2013/11/14dm.JsDate = string.Format("{0:yyyy/MM/ddHH:mm:ss}", dtSimplex.Rows[i]["f_time"]);
获取日期+时间
DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12
//获取日期
DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日DateTime.Now.ToShortDateString().ToString(); // 2008-9-4DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00
获取时间
DateTime.Now.ToLongTimeString().ToString(); // 20:16:16DateTime.Now.ToShortTimeString().ToString(); // 20:16DateTime.Now.ToString("hh:mm:ss"); // 08:05:57DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500
其他获方式
DateTime.ToFileTime().ToString(); // 128650040212500000DateTime.Now.ToFileTimeUtc().ToString(); // 128650040772968750DateTime.Now.ToOADate().ToString(); // 39695.8461709606DateTime.Now.ToUniversalTime().ToString(); // 2008-9-4 12:19:14
一、返回每个月的第一天后最后一天
public static void ReturnDateFormat(int month, out string firstDay, out string lastDay){ int year = DateTime.Now.Year + month / 12; if (month != 12) { month = month % 12; } switch (month) { case 1: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 2: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); if (DateTime.IsLeapYear(DateTime.Now.Year)) lastDay = DateTime.Now.ToString(year + "-0" + month + "-29"); else lastDay = DateTime.Now.ToString(year + "-0" + month + "-28"); break; case 3: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString("yyyy-0" + month + "-31"); break; case 4: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 5: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 6: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 7: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 8: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 9: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 10: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-31"); break; case 11: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-30"); break; default: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-31"); break; }}
时间日期转换
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DataTimeDemo{ /// <summary> /// 时间类 /// 1、SecondToMinute(int Second) 把秒转换成分钟 /// </summary> public class TimeHelper { /// <summary> /// 将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 /// </summary> /// <param name="dt">年月日分隔符</param> /// <param name="Separator"></param> /// <returns></returns> public string GetFormatDate(DateTime dt, char Separator) { if (dt != null && !dt.Equals(DBNull.Value)) { string tem = string.Format("yyyy{0}MM{1}dd", Separator, Separator); return dt.ToString(tem); } else { return GetFormatDate(DateTime.Now, Separator); } } /// <summary> /// 将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 /// </summary> /// <param name="dt"></param> /// <param name="Separator"></param> /// <returns></returns> public string GetFormatTime(DateTime dt, char Separator) { if (dt != null && !dt.Equals(DBNull.Value)) { string tem = string.Format("hh{0}mm{1}ss", Separator, Separator); return dt.ToString(tem); } else { return GetFormatDate(DateTime.Now, Separator); } } /// <summary> /// 把秒转换成分钟 /// </summary> /// <returns></returns> public static int SecondToMinute(int Second) { decimal mm = (decimal)((decimal)Second / (decimal)60); return Convert.ToInt32(Math.Ceiling(mm)); } #region 返回某年某月最后一天 /// <summary> /// 返回某年某月最后一天 /// </summary> /// <param name="year">年份</param> /// <param name="month">月份</param> /// <returns>日</returns> public static int GetMonthLastDate(int year, int month) { DateTime lastDay = new DateTime(year, month, new System.Globalization.GregorianCalendar().GetDaysInMonth(year, month)); int Day = lastDay.Day; return Day; } #endregion #region 返回时间差 public static string DateDiff(DateTime DateTime1, DateTime DateTime2) { string dateDiff = null; try { //TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); //TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); //TimeSpan ts = ts1.Subtract(ts2).Duration(); TimeSpan ts = DateTime2 - DateTime1; if (ts.Days >= 1) { dateDiff = DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日"; } else { if (ts.Hours > 1) { dateDiff = ts.Hours.ToString() + "小时前"; } else { dateDiff = ts.Minutes.ToString() + "分钟前"; } } } catch { } return dateDiff; } #endregion #region 获得两个日期的间隔 /// <summary> /// 获得两个日期的间隔 /// </summary> /// <param name="DateTime1">日期一。</param> /// <param name="DateTime2">日期二。</param> /// <returns>日期间隔TimeSpan。</returns> public static TimeSpan DateDiff2(DateTime DateTime1, DateTime DateTime2) { TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); return ts; } #endregion #region 格式化日期时间 /// <summary> /// 格式化日期时间 /// </summary> /// <param name="dateTime1">日期时间</param> /// <param name="dateMode">显示模式</param> /// <returns>0-9种模式的日期</returns> public static string FormatDate(DateTime dateTime1, string dateMode) { switch (dateMode) { case "0": return dateTime1.ToString("yyyy-MM-dd"); case "1": return dateTime1.ToString("yyyy-MM-dd HH:mm:ss"); case "2": return dateTime1.ToString("yyyy/MM/dd"); case "3": return dateTime1.ToString("yyyy年MM月dd日"); case "4": return dateTime1.ToString("MM-dd"); case "5": return dateTime1.ToString("MM/dd"); case "6": return dateTime1.ToString("MM月dd日"); case "7": return dateTime1.ToString("yyyy-MM"); case "8": return dateTime1.ToString("yyyy/MM"); case "9": return dateTime1.ToString("yyyy年MM月"); default: return dateTime1.ToString(); } } #endregion #region 得到随机日期 /// <summary> /// 得到随机日期 /// </summary> /// <param name="time1">起始日期</param> /// <param name="time2">结束日期</param> /// <returns>间隔日期之间的 随机日期</returns> public static DateTime GetRandomTime(DateTime time1, DateTime time2) { Random random = new Random(); DateTime minTime = new DateTime(); DateTime maxTime = new DateTime(); System.TimeSpan ts = new System.TimeSpan(time1.Ticks - time2.Ticks); // 获取两个时间相隔的秒数 double dTotalSecontds = ts.TotalSeconds; int iTotalSecontds = 0; if (dTotalSecontds > System.Int32.MaxValue) { iTotalSecontds = System.Int32.MaxValue; } else if (dTotalSecontds < System.Int32.MinValue) { iTotalSecontds = System.Int32.MinValue; } else { iTotalSecontds = (int)dTotalSecontds; } if (iTotalSecontds > 0) { minTime = time2; maxTime = time1; } else if (iTotalSecontds < 0) { minTime = time1; maxTime = time2; } else { return time1; } int maxValue = iTotalSecontds; if (iTotalSecontds <= System.Int32.MinValue) maxValue = System.Int32.MinValue + 1; int i = random.Next(System.Math.Abs(maxValue)); return minTime.AddSeconds(i); } #endregion }}
0 0
- .NET日期时间处理
- .net日期时间格式化处理
- .NET 中关于日期时间的格式化处理
- c#.NET 中关于日期时间的格式化处理
- c#.NET 中关于日期时间的格式化处理 (转)
- .NET 中关于日期时间的格式化处理
- C#.NET 中关于日期时间的格式化处理 (转)
- .Net中处理两个日期相差时间操作
- asp.net(C#)常用时间日期处理类
- VB.NET中,时间日期数据类型的处理与常见问题
- Java日期时间处理
- Java日期时间处理
- 常用时间/日期处理
- ruby 时间日期处理
- java日期时间处理
- javad处理日期时间
- SQL时间/日期处理
- Oralce 日期时间处理
- java和Dalvik的运行差异
- 运行时测试断言
- 就近原则
- 学习hibernate过程中,自己整理的一些数据,但不全面。
- 安卓UI基础--dp sp px解析
- .NET日期时间处理
- Tensorflow实现卷积神经网络
- NYOJ 499 迷宫(DFS)
- QJson的简单使用
- caffe for windows的python接口学习(4):训练模型
- Android系统源代码编译—[1]搭建一个构建环境
- Java——第八章(集合类)——项目案例
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- MATLAB图像的基本处理