各种编程语言中获取与转换Unix时间戳(Unix timestamp)

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?

Java time
JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒
Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks – 621355968000000000) / 10000000
MySQL SELECT unix_timestamp(now())
Perl time
PHP time()
PostgreSQL SELECT extract(epoch FROM now())
Python 先 import time 然后 time.time()
Ruby 获取Unix时间戳:Time.now 或 Time.new
显示Unix时间戳:Time.now.to_i
SQL Server SELECT DATEDIFF(s, ‘1970-01-01 00:00:00’, GETUTCDATE())
Unix / Linux date +%s
VBScript / ASP DateDiff(“s”, “01/01/1970 00:00:00”, Now())
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e “print time”

如何在不同编程语言中实现Unix时间戳(Unix timestamp) → 普通时间?

Java String date = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).format(new java.util.Date(Unix timestamp * 1000))
JavaScript 先 var unixTimestamp = new Date(Unix timestamp * 1000) 然后 commonTime = unixTimestamp.toLocaleString()
Linux date -d @Unix timestamp
MySQL from_unixtime(Unix timestamp)
Perl 先 my $time = Unix timestamp 然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6]
PHP date(‘r’, Unix timestamp)
PostgreSQL SELECT TIMESTAMP WITH TIME ZONE ‘epoch’ + Unix timestamp) * INTERVAL ‘1 second’;
Python 先 import time 然后 time.gmtime(Unix timestamp)
Ruby Time.at(Unix timestamp)
SQL Server DATEADD(s, Unix timestamp, ‘1970-01-01 00:00:00’)
VBScript / ASP DateAdd(“s”, Unix timestamp, “01/01/1970 00:00:00”)
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e “print scalar(localtime(Unix timestamp))”

关于处理GET方式提交的含有特殊字符的参数

曾经有一位朋友遇到这样一个问题,一产品名称为A&T Plastic,在产品列表中就产生了这样的一个联接<a href=”product.asp?name=A&T Plastic”>A&T Plastic</a>,在服务器端接收此参数的时候怎么也无法接收到准确的产品名。
当时就问我,如何解决,也许是当时忙吧,随口告诉他用HTMLENCODE方法,对方试告诉并没有能解决这个问题。我当时没有再给予回答,偶尔想起实在是对不起,我讲错了。今日闲暇就整理了一下如何处理GET方式提交的含有特殊字符的参数,以表内心的愧疚。

特殊特殊字符的含义
————————————————————————————
字符 特殊字符的含义 URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
\ 表示目录路径 %2F
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F

当键值中含有以上列表中的一些字符时就无法准确的接收其中的值。
<!–文件名为01.asp–>
< %
‘定义含有特殊字符的字符串
str=”parameter=#%&+\=?value</html>”
‘用URLEncode方法进行编码
strurlencode=server.URLEncode(str)
‘用HTMLEncode方法进行编码
strhtmlencode=server.HTMLEncode (str)
‘显示所有的querysting字符
Response.Write “<b>QueryString:</b><b>”
Response.Write Request.QueryString
‘显示传递的参数
Response.Write “<br /></b><b>Parameter is:</b>” & str &”<br />”
Response.Write “<b>QueryParameter=</b>”
Response.Write Request.QueryString (“str”)

%>
<html>
<head>
<meta NAME=”GENERATOR” Content=”Microsoft Visual Studio 6.0″>
<title></title>
</meta></head>
<body>

<p><a href=”01.asp?str=<%=strurlencode%>”>Str UrlEncode Method</a></p>
<p> </p>
<p><a href=”01.asp?str=<%=strhtmlencode%>”>Str HtmlEncode Method</a></p>
</body>
</html>
显示结果
QueryString:
Parameter is:parameter=#%&+\=?value
QueryParameter=
Str UrlEncode Method
Str HtmlEncode Method
点击连接1,结果
QueryString:str=parameter%3D%23%25%26%2B%5C%3D%3Fvalue%3C%2Fhtml%3E
Parameter is:parameter=#%&+\=?value
QueryParameter=parameter=#%&+\=?value
Str UrlEncode Method
Str HtmlEncode Method
此时我们发现好象参数值中的没有能正确接收到,当我们查看原代码的时候就会发现其实已经准确的接收到了,原因是“”是标准html tag ,经过浏览器解释后就不会显示出来了。
点击连接2,结果
QueryString:str=parameter=
Parameter is:parameter=#%&+\=?value
QueryParameter=parameter=
Str UrlEncode Method
Str HtmlEncode Method
此时就会发现在#后面没有能正确接收到,而是被解释为锚点的开始,在”#”后面的为锚的名称。

结论:在含有以上列表中具有特殊功能的特殊字符的字符串,作为参数用GET方式传递时,只需要用URLENCODE方法处理一下就可以拉。如果不想让浏览者看到含后HTML TAG的字符串的具体值值是,我们可以用HTMLENCODE处理一下。

PHP中用函数urlencode()就可以拉,这里就不在举例了。

ASP按长度数字前补零

<%
'@author 		Leon Lam
'@copyright		(c) 2004 - 2010 Lam's Studio.
'@link			http://www.phpker.com

function formatNum(num, formatLen)
  numLen = len(num)
  if formatLen<numLen then
    formatNum = num
  else
    tmpLen = formatLen-numLen
    for j=1 to tmpLen
      tmpStr = tmpStr&"0"
    next
    formatNum = tmpStr&num
  end if
end function

'用法: formatNum(要转换的数字, 数字长度)
for i=1 to 30
  response.write "<div>"
  response.write formatNum(i, 5)
  response.write "</div>"
next
%>

中国蓝客联盟整站源码(2004版)

一:网站管理登录方法:
1、点击网点右上解“Webmaster Login”
2、输入公用密码:helloluc
3、进入登录界面后再输入管理员帐户密码
  网站管理员:admin
  管理员密码:admin
二:数据库密码 luc01s
三:论坛版主设置方法:
1、登录后台进入论坛版块编辑
2、填写版主用户名
3、进入论坛会员管理,编辑刚才填写的版主的用户名,将“版主”选项打钩
四:后台登录界面不能查看验证码解决方法二侧:
1、注册表补丁文件:Xp SP2 Image.reg(传说中WindowsXP SP2操作系统不能查看验证码)
2、使用Firefox浏览器登录
本程序乃本人2004年初学ASP的新手作品,没有使用到ASP的高级技术,更与2009年的ASP程序是无法相比。
但程序使用了大量的条件判断和防SQL注入操作,比较适合新手参考学习。

公布原因:本程序由中国蓝客联盟蓝色飞飞(mkman)于2004年编写,多年来许多朋友问我要源码,但一直以来没有公布。

 

====点击下载文件:LUC2004.zip====

用ASP类快速文件上传及读取表单值

众所周知当form中有文件域时form编码类型必须设为multipart/form-data服务器端才能接收file的文件内容,但如此一来ASP便不能通过常规方法request.form(“inputName”)或者request(“inputName”)的方法读取表单值。

类文件内容
Filename:  formdata.class.asp
=====================

<%
'类型: 文件上传表单处理类
'名称: FormUpload
'变量: fileSize(允许上传文件尺寸)、fileType(允许上传文件类型)、savePath(上传文件夹名)、basePath(上传基本路径)、cutSize(图片压缩尺寸)、Upload(私有变量 ASPUPLOAD组件对象)
'成员: Begin()公共函数 类初始化、Post(表单名)公共函数 返回表单的值、Uploadfile(文件域名)公共函数 返回上传文件完整路径、CutImage(图片文件相对路径, 压缩尺寸)私有函数 压缩图片至指定的尺寸、Class_Terminate()析构函数 释放对象时自动执行释放ASPUPLOAD组件对象
'作者: Leon Lin
'时间: 2009-10-30
Class FormData
 dim fileSize '允许上传文件尺寸
 dim fileType '允许上传文件类型
 dim savePath '上传文件夹名
 dim basePath '上传基本路径
 dim cutSize  '图片压缩尺寸
 private Upload 'ASPUPLOAD组件对象
�
�
 '成员函数,初始化
 Public Sub Begin()
  Set Upload = Server.CreateObject("Persits.Upload")     '创建ASPUPLOAD组件对象
  Upload.IgnoreNoPost = True           '未触发POST时中断上传文件
  On Error Resume Next
  Upload.CodePage = 65001            'UTF-8编码
  Upload.SetMaxSize fileSize*1024, True        '上传文件大小限制
  Upload.CreateDirectory Server.MapPath(basePath&savePath), True  '创建上传目录
  Upload.Save()              '保存文件至内存中
 End Sub
�
�
 '成员函数,返回表单值
 Public Function Post(formField)
  Post = Upload.Form(formField)
 End Function
�
�
 '成员函数,上传文件域中的文件
 Public Function Uploadfile(fileField)
  if right(savePath, 1)<>"/" then savePath=savePath&"/"  '保存目录后加"/"
  '上传常规检查
  If Err.Number = 8 Then Call Warning("警告:文件大小限制 "&fileSize&"KB 以内!", "")
  If Err <> 0 Then Call Warning("警告:文件上传失败!", "")
  '必须选择一个文件才执行上传脚本
  If Not Upload.Files(fileField) Is Nothing Then
   Set File = Upload.Files(fileField)
   '检查所选文件是否存在
   if File.Size = 0 then
    Set File = nothing
    Call Warning("警告:请选择一个正确的文件!", "")
   end if
   '不允许文件扩展名为空
   if File.ext = "" then
    Set File = nothing
    Call Warning("警告:非法文件!", "")
   end if
   fileExt = lcase(File.ext)    '所上传的文件扩展名
   fileTypeStr = fileType&","    '处理接受搜索的扩展名列表
   '检查文件类型,匹配扩展名
   If Instr(fileTypeStr, replace(fileExt, ".", "")&",") <= 0 Then
    Set File = nothing
    Call Warning("警告:只允许上传 "&fileType&" 格式的文件!", "")
   End If
   '文件重命名
   randomize
   ranNum = int(900*rnd)+100
   reName = year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum  '文件名
   fullFileName = basePath & savePath & reName & fileExt       '函数返回的文件完整路径
   File.SaveAs Server.MapPath(basePath) & "/" & savePath & reName & fileExt  '复制文件并重命名
   If File.ImageType = "UNKNOWN" Then IsImage = false : Else IsImage = true  '判断是否图片
   Set File = nothing
  End If
  if IsImage = true then
   Uploadfile = CutImage(fullFileName, cutSize)  '压缩图片并返回上传文件完整路径
  else
   Uploadfile = fullFileName
  end if
 End Function
�
�
 '析构函数,释放组件对象
 Private Sub Class_Terminate()
  Set Upload = nothing
 End Sub
�
�
 'ASPJPEG图片处理
 Private Function CutImage(src, cut)
  Set Jpeg = Server.CreateObject("Persits.Jpeg")
  Jpeg.Open Server.MapPath(src)
  If Jpeg.OriginalWidth >= cut Or Jpeg.OriginalHeight >= cut Then
   If Jpeg.OriginalWidth > Jpeg.OriginalHeight Then
      Jpeg.Width = cut
      Jpeg.Height = Jpeg.OriginalHeight * cut / Jpeg.OriginalWidth
   Else
      Jpeg.Height = cut
      Jpeg.Width = Jpeg.OriginalWidth * cut / Jpeg.OriginalHeight
   End If
   Jpeg.Save Server.MapPath(src)
  End if
  Set Jpeg = nothing
  CutImage = src
 End Function

End Class
%>

操作脚本
Filename: form.asp
======================

<%
 Set Form = new FormData
 Form.fileSize = 300
 Form.fileType = "jpg,gif,png"
 Form.savePath = "Photos/"
 Form.basePath = "../UploadFiles/"
 Form.cutSize = 600 '当上传的文件如果是图片类型侧自动按比例压缩图片
 Form.Begin()
 Filename = Form.Uploadfile("Photo") '使用Form.Uploadfile("文件域名称")上传文件
 response.write Form.Post("GoodsName") '使用Form.Post("表单名")读取表单的值
 Set Posts = nothing
%>

如此一来在多文件上传或在复杂的判断中上传文件就方便得多了。

备注:
代码中使用到两个ASP的常用组件(AspUpload和AspJpeg)下载地址分别为:
http://www.aspupload.com/
http://www.aspjpeg.com/
(至于破解版还请各位自己问GOOGLE,这里便不帖出来了)