计算上网时间的方法取决于具体的应用场景和需求。以下是几种常见的方法:
方法一:通过输入框输入时间
这种方法适用于简单的上网时间计算,用户通过输入框输入上网时间,程序根据预设的收费标准计算费用,并显示结果。
```vb
Dim t As Integer
Dim p As Integer
t = Val(InputBox("时间,以小时为单位"))
If t = 10 And t = 50 And t = 1000 Then
p = t
Else
MsgBox "输入有误"
End If
If p >= 200 Then
MsgBox "上网费用超过200元,按200元收取"
p = 200
End If
MsgBox "上网时间:" & CStr(t) & "小时" & vbNewLine & "收费:" & CStr(p) & "元" & vbNewLine & "谢谢!"
```
方法二:通过访问网站获取时间
这种方法通过访问特定网站获取当前时间,适用于需要实时更新时间的情况。
```java
URL url = new URL("http://www.bjtime.cn");
URLConnection uc = url.openConnection();
uc.connect();
long ld = uc.getDate();
Date date = new Date(ld);
System.out.print(date.getHours() + "时" + date.getMinutes() + "分" + date.getSeconds() + "秒");
```
方法三:记录上网时间并计算
这种方法适用于需要记录和计算长时间上网的情况,通过记录上机时间和下机时间,计算总上网时间。
```vb
Dim onboard As Date
Dim offboard As Date
Private Sub CmdOn_Click()
'记录上机时间
TxtOnDate.Text = Date
TxtOnTime.Text = Time
'将时间更新到数据库中
End Sub
Private Sub CmdDown_Click()
Dim Costtime As Date
Dim c As Date
Dim b As Date
txtsql = "select*from Online where cardnumber='" & Trim(TxtCardnumber.Text) & "'And Explain ='正常上机"
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.EOF = False Then
'如果下机
RecordDownTime TxtDownDate.Text = Date
TxtDownTime.Text = Time
offboard = Now
'记录下机时间
c = mrc.Fields(2)
'在数据库中取出上机时间
b = mrc.Fields(4)
onboard = c + b
End If
End Sub
```
方法四:根据上网时间计算费用
这种方法适用于需要根据上网时间计算费用的情况,可以根据不同的上网时长设置不同的收费标准。
```java
class Sw {
private int id;
private int time;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public int getTime() { return time; }
public void setTime(int time) { this.time = time; }
public void daying() {
//大于300的部分按0.1计算
if (this.time > 300) {
System.out.print("网费:" + (this.time - 300) * 0.1 + 45);
} else {
System.out.print("网费:" + this.time * 0.15);
}
}
public void daying2() {
//大于300的按0.1计算
if (this.time > 300) {
System.out.print("网费:" + this.time * 0.1);
} else {
System.out.print("网费:" + this.time * 0.15);
}
}
}
```
方法五:通过Socket获取网络时间
这种方法通过Socket连接到NTP服务器获取网络时间,可以用于校正本地机器的时间。