重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
function getTime2Time($time1, $time2)
专注于为中小企业提供成都做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业颍东免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
{
var time1 = arguments[0], time2 = arguments[1];
time1 = Date.parse(time1)/1000;
time2 = Date.parse(time2)/1000;
var time_ = time1 - time2;
return (time_/(3600*24));
}
document.write(getTime2Time('2016-08-02', '2016-07-02'));
注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 2 为基)形式计算两个整数值。它们比较对应位置上的位,然后基于比较的结果赋值。下面的示例演示了 And 运算符。复制Dim x As Integerx = 3 And 5 前面的示例将 x 的值设置为 1。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位)。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置。如果任何一个位是 0,则将 0 放在结果中的该位置。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理。值 001 是 1 的二进制表示形式,因此 x = 1。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外,按位 Or 运算与此类似。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果。这意味着,对于有符号正数,Not 始终返回负值,而对于负数,Not 始终返回正值或零。AndAlso 和OrElse 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“
使用datediff函数
textbox3.text=datediff("d","textbox1.text","textbox2.text")
说明一下:
“d”表示“天”
还可以用“y”,"m","d","h","n","s"
分别表示“年”“月”“日”“时”“分”“秒”
我们用一个比较时髦的办法,用面向对象思想把每一行做成一个类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Class Value '声明Value为类
REM 类的公共数据
Public Type As String '类型rb或是rf
Public ValX As Double '表第二列
Public ValY As Double '表第三列
Public Sub New(t As String, x As String, y As String) '构造函数
Type = t '赋值
ValX = x
ValY = y
End Sub
REM 类的静态方法,用来得出结果x=(12.1+12.4)/2+(12.2+12.3)/2
Public Shared Function SolveX(ByRef Values() As Value) As Double '以一个Value数组为参数
Dim result1 As Double = 0 '第一个加数(12.1+12.4)/2
Dim count1 As Integer = 0 'rb的个数
For Each v In Values '遍历这个数组
If v.Type = "rb" Then '若是rb
result1 += v.ValX '先加进去
count1 += 1 '个数加一。也可以写成count1 = count1 + 1
End If
Next
result1 /= count1 '算出第一个加数。也可以写成result1 = result1 / count
Dim result2 As Double = 0 '依此类推,算出第二个加数
Dim count2 As Integer = 0
For Each v In Values
If v.Type = "rf" Then
result2 += v.ValX
count2 += 1
End If
Next
result2 /= count2
Return result1 + result2 '返回两个加数的和
End Function
REM 同样的
Public Shared Function SolveY(ByRef Values() As Value) As Double
Dim result1 As Double = 0
Dim count1 As Integer = 0
For Each v In Values
If v.Type = "rb" Then
result1 += v.ValY
count1 += 1
End If
Next
result1 /= count1
Dim result2 As Double = 0
Dim count2 As Integer = 0
For Each v In Values
If v.Type = "rf" Then
result2 += v.ValY
count2 += 1
End If
Next
result2 /= count2
Return result1 - result2
End Function
End Class
怎么使用这个类呢?
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim values() As Value = {New Value("rb", 12.1, 1.1), _
New Value("rf", 12.2, 1.2), _
New Value("rf", 12.3, 1.3), _
New Value("rb", 12.4, 1.4)} '声明一个数组values并一次放入4个Value对象
Console.WriteLine("X = {0}", Value.SolveX(values)) 'Value.SolveX(数组)表示X结果
Console.WriteLine("Y = {0}", Value.SolveY(values)) 'Value.SolveY(数组)表示Y结果
Console.ReadKey()