当前位置: 首页 > 图文教程 > 网络编程 > ASP > javascript asp教程 日期相关

ASP
ASP中用Join和Array,可以加快字符连接速度。
采用ODBC接口访问MySQL指南
最大限度优化你的Asp性能
实现让每句话的头一个字母都大写
如何尽快释放掉Connection对象建立的连接?
把数据插入到数据库的两种方法
Connection对象的应用
查看ASP Session 变量的小工具
用XMLHTTP组件正确解析图片地址并将其保存
利用XMLHTTP 从其他页面获取数据
Request与Request.Form的速度测试
用SOAP和ASP进行服务器端更新
ASP开发网页时需要牢记的注意事项列表
面向对象的ASP技术:思考与实践
提供一种“间接防止另存为”的方法
格式化数字函数FormatNumber
怎么样写一段高效,安全的sql查询代码
关于Adodb.Stream的使用说明
不用EOF以加快记录循环
防止重复提交的巧妙方法

ASP 中的 javascript asp教程 日期相关


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 250 ::
收藏到网摘: n/a

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.