ASP.NET设置发帖时间间隔不超过30秒
{
if (Session["lastTime"] == null)
{
Session["lastTime"] = DateTime.Now;
}
DateTime dt = Convert.ToDateTime(Session["lastTime"]);
TimeSpan ts = DateTime.Now - dt;
Response.Write(ts.Days + ":" + ts.Hours + ":" + ts.Minutes + ":" + ts.Seconds);
if (ts.Hours > 0 || ts.Minutes > 0 || ts.Seconds > 30)
{
Session["lastTime"] = DateTime.Now;
Response.Write("可以发帖!");
}
else
{
Response.Write("你的发帖速度过快!时间间隔不要小于30秒!");
}
}
/// <summary>
/// 把秒转换成分钟
/// </summary>
/// <returns></returns>
public static int SecondToMinute(int Second)
{
decimal mm = (decimal)((decimal)Second / (decimal)60);
return Convert.ToInt32(Math.Ceiling(mm));
}
/// <summary>
/// 计算两个时间的时间间隔
/// </summary>
/// <param name="DateTimeOld">较早的日期和时间</param>
/// <param name="DateTimeNew">较后的日期和时间</param>
/// <returns></returns>
public static string DateDiff(DateTime DateTimeOld, DateTime DateTimeNew)
{
string dateDiff = "";
TimeSpan ts1 = new TimeSpan(DateTimeOld.Ticks);
TimeSpan ts2 = new TimeSpan(DateTimeNew.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
int day = ts.Days;
int hou = ts.Hours;
int minu = ts.Minutes;
int sec = ts.Seconds;
if (day > 0)
{
if (day > 30)
{
if (day > 364)
{
dateDiff += day / 365 + "年";
}
else
{
dateDiff += day / 30 + "个月";
}
}
else
{
dateDiff += day.ToString() + "天";
}
}
else
{
if (hou > 0)
{
dateDiff += hou.ToString() + "小时";
}
else
{
if (minu > 0)
{
dateDiff += minu.ToString() + "分钟";
}
else
{
if (sec > 0)
{
dateDiff += sec.ToString() + "秒";
}
else
{
dateDiff += "0秒";
}
}
}
}
if (DateTimeNew.CompareTo(DateTimeOld) > 0)
{
dateDiff += "前";
}
else
{
dateDiff += "后";
}
return dateDiff;
}
/// <summary>
///判断是否于5分钟之前
/// </summary>
/// <param name="DateTimeOld">较早的日期和时间</param>
/// <returns></returns>
public static bool DateDiff_minu(DateTime DateTimeOld)
{
TimeSpan ts1 = new TimeSpan(DateTimeOld.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
int minu = ts.Minutes;
if (minu > 5)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 与当前时间比较,重载时间比较函数,只有一个参数
/// </summary>
/// <param name="DateTimeOld">较早的日期和时间</param>
/// <returns></returns>
public static string DateDiff(DateTime DateTimeOld)
{
return DateDiff(DateTimeOld, DateTime.Now);
}
/// <summary>
/// 日期比较,返回精确的几分几秒
/// </summary>
/// <param name="DateTime1">较早的日期和时间</param>
/// <param name="DateTime2">较迟的日期和时间</param>
/// <returns></returns>
public static string DateDiff_full(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
return dateDiff;
}
/// <summary>
/// 时间比较,返回精确的几秒
/// </summary>
/// <param name="DateTime1">较早的日期和时间</param>
/// <param name="DateTime2">较迟的日期和时间</param>
/// <returns></returns>
public static int DateDiff_Sec(DateTime DateTime1, DateTime DateTime2)
{
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
int dateDiff = ts.Days * 86400 + ts.Hours * 3600 + ts.Minutes * 60 + ts.Seconds;
return dateDiff;
}
/// <summary>
/// 日期比较
/// </summary>
/// <param name="today">当前日期</param>
/// <param name="writeDate">输入日期</param>
/// <param name="n">比较天数</param>
/// <returns>大于天数返回true,小于返回false</returns>
public static bool CompareDate(string today, string writeDate, int n)
{
DateTime Today = Convert.ToDateTime(today);
DateTime WriteDate = Convert.ToDateTime(writeDate);
WriteDate = WriteDate.AddDays(n);
if (Today >= WriteDate)
return false;
else
return true;
}
转载于:https://www.cnblogs.com/greatverve/archive/2010/09/01/aspnet-timespan.html
ASP.NET设置发帖时间间隔不超过30秒相关推荐
- php响应超过三十秒会报错么,如何捕捉致命错误:PHP中超过30秒的最大执行时间...
你唯一的select是增加允许的执行时间(将其设置为0使其无限,但不推荐)或产生一个新的线程,并希望最好的. 这是不可捕捉的原因是它并没有真正抛出. 没有一行代码实际上触发了这个错误,而是PHP说:& ...
- SQL Server通过动态视图里查找阻塞超过30秒的会话
SQL Server通过动态视图里查找阻塞的会话 简介 对于阻塞我们可以通过动态视图dm_exec_requests.dm_tran_locks等关联通过构建递归式树形结构来查找出阻塞超过30秒的会话 ...
- 小程序激励视频观看超过30秒,获取奖励
小程序激励视频观看超过30秒,获取奖励 需求是这样子的,小程序里面插入了video标签,拥有视频功能,用户看视频超过30秒时候,会显示弹框弹出奖励 思路: 需求是这样子的,小程序里面插入了video标 ...
- workbench查询大数据量,一到30秒自动中断
查了网上教程,一开始以为是在my.in里配置max_allowed_package,试完没用: 又重启mysql,net stop mysql,net start mysql,依然没用: 后来发现na ...
- 告别刷抖音!30秒一个Python小例子,总有一款适合你
小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...
- 告别刷抖音!30秒一个Python小例子,总有一款适合你,赶紧收藏!
小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...
- python抖音粉丝_告别刷抖音!30秒一个Python小例子,总有一款适合你
小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...
- python刷抖音浏览_告别刷抖音!30秒一个Python小例子,总有一款适合你
小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...
- 安装时间大于30秒_get朋友圈超长视频模版, 点亮朋友圈30秒“带货神器”
花呗什么时候还款,各位的钱包还撑到什么时候,老板说,再不上班,公司就没了!这段时间大家的存粮真的不多啦, get朋友圈超长视频模版, 点亮朋友圈30秒"带货神器"-- 在微信朋友圈 ...
最新文章
- Ruby:Hash 排序
- 【随手拍解救单身男女(1)】数据分析师书豪
- codeforces 739E - Gosha is hunting
- Tiny Core Linux 4.5 发布,微型 Linux 操作系统
- Linux下 -bash: php: command not found 命令找不到
- ajax流式传输,直接流式传输JSON以响应Jackson
- uniapp跨域两次请求解决方案
- .NET:枚举的默认值
- 7-6 华氏度转摄氏度(四舍五入)
- 移动电源快充QC3.0方案芯片IP5318快充方案
- 对SMART法则的多种解释
- 游戏辅助原理与制作02-植物大战僵尸03-冷却时间基址
- 什么是OSINT?以及如何使用开源网络情报工具?
- 应聘PHP有面试题吗,php应聘面试题
- python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化
- 土木工程结构力学————钢架的位移法
- LCD1602液晶显示屏使用方法
- 图灵奖得主Geoffrey Hinton:我的五十年深度学习生涯与研究心法
- CCS Invalid project description
- 自动控制原理复习——线性系统的根轨迹法
热门文章
- 无法远程连接Oracle
- redis缓存清除策略 、获取dumb.rdb或者***.aof文件的位置
- Ranger-AdminServer安装Version2.0.0
- Linux 多网卡bond
- JAVA设计模式 - 建造者模式
- python完全支持面向对象编程思想_面向对象的编程思想和Python的继承和多态,特殊方法,引用计数...
- android10适配机型华为,EMUI10适配机型进度公布 这10款机型将率先尝鲜
- python找出有向图的所有环,Python:有向图中的所有简单路径
- java完成键盘动作_java实现鼠标和键盘动作后台监听
- 从AIDL一窥Android Binder机制