罚金=(实际还书时间-应该还书时间)01
1、一般不用JS
2、你用什么语言 *** 作数据库的,就用什么语言写,C#,PHP这种都有其时间类型变量。
3、也可以用C#什么的直接执行SQL:
select datediff(now(),str_to_date('2013-4-20 12:00:00','%Y-%m-%d %H:%i:%s')) day
比如这个就返回4天。
C#代码:
if (getvaluedate == DateTimeParse("2012-1-1 01:01:01"))
{
label_showtimeText = "您从未备份过数据";
}
else
{
TimeSpan ts = localtimeSubtract(getvaluedate);
string timespan = "您已经有:"
+ tsDaysToString() + "天"
+ tsHoursToString() + "小时"
+ tsMinutesToString() + "分钟"
// + tsSecondsToString() + "秒"
+ "没有备份过数据了";
label_showtimeText = timespan;
}
sql中这样取,select DateDiff("dd",joindatetime,getdate()) from db
那么在c#中呢
//C#中使用TimeSpan计算两个时间的差值
//可以反加两个日期之间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2Ticks);
TimeSpan ts = ts1Subtract(ts2)Duration();
dateDiff = tsDaysToString()+"天"+ tsHoursToString()+"小时"+ tsMinutesToString()+"分钟"+ tsSecondsToString()+"秒";
return dateDiff;
}
TimeSpan ts = Date1 - Date2;
double dDays = tsTotalDays;//带小数的天数,比如1天12小时结果就是15
int nDays = tsDays;//整数天数,1天12小时或者1天20小时结果都是1
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2Ticks);
TimeSpan ts = ts1Subtract(ts2)Duration();
dateDiff = tsDaysToString()+"天"
+ tsHoursToString()+"小时"
+ tsMinutesToString()+"分钟"
+ tsSecondsToString()+"秒";
return dateDiff;
}
说明:
1DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
//// <summary>
/// 日期比较
/// </summary>
/// <param name="today">当前日期</param>
/// <param name="writeDate">输入日期</param>
/// <param name="n">比较天数</param>
/// <returns>大于天数返回true,小于返回false</returns>
private bool CompareDate(string today, string writeDate, int n)
{
DateTime Today = ConvertToDateTime(today);
DateTime WriteDate = ConvertToDateTime(writeDate);
WriteDate = WriteDateAddDays(n);
if (Today >= WriteDate)
return false;
else
return true;
可以使用substring 方法提取字符串中介于两个指定下标之间的字符。
方法形式:substring(start,end)
举例:截取年月日部分的日期,代码如下:
var dateTime = new Date();
var hour = dateTimegetHours();
var min = dateTimegetMinutes();
var sec = dateTimegetSeconds();
var yy = dateTimegetFullYear();
var dd = dateTimegetDate();
var mm = dateTimegetMonth();
var time= yy + "-" + mm+1 + "-" + dd + " " + hour + ":" + min + ":" + sec;
consolelog(timesubstring(0,10));
截取结果如下图所示:
其实加一个判断就行了,这是因为时区差的原因。
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<time datetime="2014-11-28"></time><br>
<time datetime="2014-11-28 00:00:00"></time><br>
<time datetime="2014-11-28,00,00,00"></time><br>
<time datetime="2014-11-28,11:00:00"></time><br>
</body>
</html>
<script>
var time=documentgetElementsByTagName('time');
now=new Date();
//alert(now);
function addtime (y) {
setInterval(
function (){
var s0=1000,m0=s060,h0=m060,d0=h024,now=new Date(),t,dt=ygetAttribute('datetime');
t=Dateparse(dt)-now+(/:/test(dt)0:nowgetTimezoneOffset()60000);
if(t<0){yinnerHTML= '已经开始了'}else{
var d=Mathfloor(t/d0), h=Mathfloor((t-dd0)/h0), m=Mathfloor((t-dd0-hh0)/m0), s=Mathfloor((t-dd0-hh0-mm0)/s0);
yinnerHTML= '还剩'+('0'+d)substr(-2)+'天'+('0'+h)substr(-2)+'时'+('0'+m)substr(-2)+'分'+('0'+s)substr(-2)+'秒';}
},1000);
}
for (var i = 0; i < timelength; i++) {
addtime(time[i])
}
</script>
1、使用new Date()获取当前日期,new Date()getTime()获取当前毫秒数
2、计算公式,等于获取的当前日期减去或者加上一天的毫秒数。一天的毫秒数的计算公式:24小时60分钟60秒1000毫秒,也是86400000毫秒。
举例:
Date curDate = new Date();
var preDate = new Date(curDategetTime() - 2460601000); //前一天
var nextDate = new Date(curDategetTime() + 2460601000); //后一天
以下使用后台输出表示。
扩展资料
var myDate = new Date();
myDategetYear(); //获取当前年份(2位)
myDategetFullYear(); //获取完整的年份(4位,1970-)
myDategetMonth(); //获取当前月份(0-11,0代表1月)
myDategetDate(); //获取当前日(1-31)
myDategetDay(); //获取当前星期X(0-6,0代表星期天)
myDategetTime(); //获取当前时间(从197011开始的毫秒数)
myDategetHours(); //获取当前小时数(0-23)
myDategetMinutes(); //获取当前分钟数(0-59)
myDategetSeconds(); //获取当前秒数(0-59)
myDategetMilliseconds(); //获取当前毫秒数(0-999)
myDatetoLocaleDateString(); //获取当前日期
var mytime=myDatetoLocaleTimeString(); //获取当前时间
myDatetoLocaleString( ); //获取日期与时间
DateprototypeisLeapYear 判断闰年
DateprototypeFormat 日期格式化
DateprototypeDateAdd 日期计算
DateprototypeDateDiff 比较日期差
DateprototypetoString 日期转字符串
DateprototypetoArray 日期分割为数组
DateprototypeDatePart 取日期的部分信息
DateprototypeMaxDayOfDate 取日期所在月的最大天数
DateprototypeWeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
那就是你那个字符串 不是有效的 时间格式
可以用错误处理 捕获
try
{
DateTime requiredDate =ConvertToDateTime(RequiredDateTextTrim());
}
catch
{
MessageBoxshow("时间输入不正确!");
}
<script type="text/javascript">
function dateConvert(str)
{
if(typeof str!="string") return null;
var dt=strmatch(/^(\d{14})(-|\/|[]|[])(\d{12})\2(\d{1,2})$/);YYYY-MM-DD
var newdate=new Date();
if(dt==null) return null;
var y,m,d;
y=parseInt(dt[1],10);
m=parseInt(dt[2],10);
d=parseInt(dt[3],10);
if(m>12 || m<0)reutrn null;
if(d>0)
{
newdatesetFullYear(y);
newdatesetDate(d);
newdatesetMonth(m);
return newdate
}else{
return null;
}
}
</script>
自己写的比较简陋,不过转换成YYYY-MM-DD,yyyymmdd,yyyy/mm/dd,yyyy\mm\dd\,等新式没有错误
setMonth(month)的参数有问题。month介于 0(一月) ~ 11(十二月) 之间。所以应该改为:
sdatesetMonth(parseInt(selectdatesubstring(5,7))-1);
var strMonth=dategetMonth()+1;
dateObjectsetMonth(month,day)
month 必需。一个表示月份的数值,该值介于 0(一月) ~ 11(十二月) 之间。
day 可选。一个表示月的某一天的数值,该值介于 1 ~ 31 之间(以本地时间计)。在 EMCAScript 标准化之前,不支持该参数。
另外,你这里还有一个bug。把截取出来的月份和日期转化为int型的时候,月份和日期可能出现以0开头的值,例如:07,09,而以0开头的数会被javascript认为是八进制的数,如果值小于8不会有问题,但是如果值大于或等于8(08和09)的时候得到的结果就会不正常(等于0)。
以上就是关于javascript 系统当前日期时间 和获取数据库的日期相减问题 是相减 !!!求大神!!!全部的内容,包括:javascript 系统当前日期时间 和获取数据库的日期相减问题 是相减 !!!求大神!!!、在js中,想写一个函数实现,给定任意两个日期,返回这两个日期间的所有日期。要怎么做,非常感谢、JS 如何截取日期部分呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)