javascript asp教程 日期相关

所属分类: 网络编程 / ASP编程 阅读数: 1210
收藏 0 赞 0 分享

JavaScript is loosely typed. Database files are not. If you put text into a Boolean database column or a Boolean value into a date/time column, then you will get an error.

For the most part this is not a problem, except for date/time. It does not correspond to the JavaScript Date Object. So, we have to tear Date apart and rebuild it from scratch. If we don't, then we get a type mismatch error.

Take a look at the snippet below. (It's not part of our lesson, but I want you to look at it anyway.) Please notice DateTime.

objConn.Open(strConnect)
sql = "INSERT INTO FoloVisit (SessionID,VisitTime) "
sql+= "Values ('" + Session.SessionID + "',#" + DateTime + "#);"
objConn.Execute(sql)

DateTime has to be in a very particular format: #mm/dd/yyyy hh:mm:ss [a|p]m# As you well know new Date() doesn't even come close to this format. We will fix that in the script below.

Get Started:

Below is the script for Lesson 20.

<%@LANGUAGE="JavaScript"%>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Dim VBTime,VBDate,VBDateTime
VBTime = Time & " "
VBDate = Date & " "
VBDateTime = Date & " " & Time
</SCRIPT>
<%
function whatTimeIsIt()
	{
	var m=new Date()
	var minute=m.getMinutes()
	var second=m.getSeconds()
	var ampm=false
	if (minute >=0 && minute < 10)
		{ minute=("0" + minute)	}
	if (second >= 0 && second < 10 )
		{ second=("0" + second) }
	var hours=m.getHours()
	if (hours > 12)
		{ ampm=true
		hours=hours-12 }
	if (hours==12)
		{ ampm=true }
	if (hours == 0)
		{ hours=hours+12
		ampm=false }
	if (ampm)
		{ ampm=" PM" }
	else
		{ ampm=" AM" }
	var myTime=hours + ":" + minute + ":" + second + ampm
	return myTime;
	}
var DateTime = new Date();
var Month = (DateTime.getMonth() + 1) + "/";
var Day = DateTime.getDate() + "/";
var Year = DateTime.getFullYear();
var JustTheDate = Month + Day + Year;
var JustTheTime = whatTimeIsIt();
var DateTime = Month + Day + Year + " " + whatTimeIsIt();

Response.Write("<HTML>\r")
Response.Write("<STRONG>JavaScript Time</STRONG><BR>\r")
Response.Write("The date in proper database format is: " + JustTheDate + "<BR>\r")
Response.Write("The time in proper database format is: " + JustTheTime + "<BR>\r")
Response.Write("The date & time together are: " + DateTime + "<BR>\r")
Response.Write("<HR>\r")
Response.Write("<STRONG>VBScript Time</STRONG><BR>\r")
Response.Write("The date in proper database format is: " + VBDate + "<BR>\r")
Response.Write("The time in proper database format is: " + VBTime + "<BR>\r")
Response.Write("The date & time together are: " + VBDateTime + "<BR>\r")
Response.Write("</HTML>")
%>

Click Here to run the script in a new window.

Living on VBScript Time:

The other way to solve the problem is to use the VBScript date and time Objects. What can I say? If you can't beat 'em, steal from 'em!

Time For a Tangent:

If all you want to do is store new Date() exactly as-is in your database then do so in a text or memo column. The disadvantage of using this tactic is that SQL cannot sort items correctly by date and time. Instead, they'll be sorted by alphabetical order.

Final Thoughts:

That's the end of the lesson plan. I have received messages from all over the world. Thank you for your kind words. If you have questions or comments you can click onto the link for the home page and then there's a link to contact me.

更多精彩内容其他人还在看

IIS访问ASP页面时报错The requested resource is in use.的解决办法

IIS访问ASP页面时报错The requested resource is in use.的解决办法
收藏 0 赞 0 分享

错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误'80004005'
收藏 0 赞 0 分享

关于“未指定的错误”的问题 的比较正解的解决方法

关于“未指定的错误”的问题 的比较正解的解决方法
收藏 0 赞 0 分享

关于asp+access的安全问题分析

关于asp+access的安全问题分析
收藏 0 赞 0 分享

把RS.GetRows看得更清楚

把RS.GetRows看得更清楚
收藏 0 赞 0 分享

ASP面向对象编程探讨及比较

ASP面向对象编程探讨及比较
收藏 0 赞 0 分享

ASP错误处理

ASP错误处理
收藏 0 赞 0 分享

web文件管理器的后续开发

web文件管理器的后续开发
收藏 0 赞 0 分享

上一篇,下一篇过程代码

上一篇,下一篇过程代码
收藏 0 赞 0 分享

一小偷类!!有兴趣的可以看看

一小偷类!!有兴趣的可以看看
收藏 0 赞 0 分享
查看更多