javascript asp教程 日期相关

所属分类: 网络编程 / ASP编程 阅读数: 1223
收藏 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.

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

ASP编程入门进阶(廿一):DAO SQL之建立数据库表

ASP编程入门进阶(廿一):DAO SQL之建立数据库表
收藏 0 赞 0 分享

ASP万用分页程序

这只是个asp小技巧类的东西,它虽然适合在每个不同文件名里调用这个函数,但是也是有前提的,下面让我们来仔细看看其中的原委
收藏 0 赞 0 分享

ASP项目中的公共翻页模块

ASP项目中的公共翻页模块
收藏 0 赞 0 分享

asp实现批量录入数据的实现

asp实现批量录入数据的实现
收藏 0 赞 0 分享

从文本文件中读取信息并存储入数据库

从文本文件中读取信息并存储入数据库
收藏 0 赞 0 分享

在ASP中使用均速分页法提高分页速度

在ASP中使用均速分页法提高分页速度
收藏 0 赞 0 分享

一些值得一看的代码asp

这篇文章主要介绍了一些值得一看的代码asp
收藏 0 赞 0 分享

3种不同的方法生成文件

3种不同的方法生成文件
收藏 0 赞 0 分享

校验算法与ASP程序

这篇文章主要介绍了校验算法与ASP程序
收藏 0 赞 0 分享

ASP抽取数据的执行效率

ASP抽取数据的执行效率
收藏 0 赞 0 分享
查看更多