ASP.NET Tutorial/Development/DateTime
Содержание
Assign DateTime value to asp:Label (C#)
<source lang="csharp">
<%@Page Language="C#" %> <script runat="server">
void Page_Load(Object Sender, EventArgs e) { DateTime Now = DateTime.Now; int intHour = Now.Hour; Label1.Text = "The time is now " + Now.ToString("T") + ""; if (intHour < 12) { Label1.Text +="Good morning!"; } else if (intHour > 12 & intHour < 18) { Label1.Text +="Good afternoon!"; } else { Label1.Text +="Good evening!"; } }
</script> <html><body>
<form runat="server"> <asp:Label id="Label1" runat="server"/> </form>
</body></html></source>
Calculates the number of days until a given date
<source lang="csharp">
File: DaysUntilDates.asmx
<%@ WebService Language="C#" CodeBehind="~/App_Code/DaysUntilDates.cs" Class="DaysUntilDates" %> File: \App_Code\DaysUntilDates.cs using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.ru/", Description="Calculates the number of days until a given date.")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class DaysUntilDates : System.Web.Services.WebService {
[WebMethod] public int DaysUntil(DateTime date) { return DaysUntilDate(date.Month, date.Day); } [WebMethod] public int DaysUntilHalloween() { return DaysUntilDate(10, 31); } [WebMethod] public int DaysUntilChristmas() { return DaysUntilDate(12, 25); } private int DaysUntilDate(int month, int day) { DateTime targetDate; targetDate = DateTime.Parse(month.ToString() + "/" + day.ToString() + "/" + DateTime.Today.Year); if (DateTime.Today > targetDate) { targetDate = targetDate.AddYears(1); } TimeSpan timeUntil = targetDate - DateTime.Today; return timeUntil.Days; }
}</source>
DateTime and TimeSpan
<source lang="csharp">
<%@ Page %> <script language="C#" runat="server"> private void Page_Load(object sender, System.EventArgs e) {
DateTime startTime, endTime; string output = ""; TimeSpan span; startTime=DateTime.Now; for (int i=1;i<10000;i++) { output += i.ToString() + " "; } endTime=DateTime.Now; span=new TimeSpan(endTime.Ticks-startTime.Ticks);Response.Write("
Time Using Concatenation: " + span.TotalSeconds.ToString() + "
");
startTime=DateTime.Now; System.Text.StringBuilder sb = new System.Text.StringBuilder(10000); for (int i=1;i<10000;i++) { sb.Append(i.ToString()); sb.Append(" "); } endTime=DateTime.Now; span=new TimeSpan(endTime.Ticks-startTime.Ticks);Response.Write("
Time Using StringBuilder: " + span.TotalSeconds.ToString() + "
");
} </script></source>
DateTime.Now.ToShortDateString()
<source lang="csharp">
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
protected void Page_Load(object sender, EventArgs e) { labDate.Text = DateTime.Now.ToShortDateString(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Hello World Inline</title>
</head> <body>
<form id="form1" runat="server">
Hello World
The date is <asp:Label ID="labDate" runat="server"></asp:Label> </form>
</body> </html></source>
Format DateTime
<source lang="csharp">
<%@ Page %> <script language="C#" runat="server">
private void Page_Load(object sender, System.EventArgs e) { Label1.Text=DateTime.Now.ToString("hh:mm:ss"); System.Threading.Thread.Sleep(5000); Label2.Text=DateTime.Now.ToString("hh:mm:ss"); }
</script> <html>
<body> <form id="form1" method="post" runat="server"> <asp:Label ID="Label1" Runat="server" />
<asp:Label ID="Label2" Runat="server" /> </form> </body>
</html></source>
Format DateTime variable (C#)
<source lang="csharp">
<%@ Page %> <script language="C#" runat="server"> private void Page_Load(object sender, System.EventArgs e) {
Response.Write("Default: " + System.DateTime.Now + "
"); Response.Write("Local Time: " + System.DateTime.Now.ToLocalTime() + "
"); Response.Write("Long Date: " + System.DateTime.Now.ToLongDateString() + "
"); Response.Write("Long Time: " + System.DateTime.Now.ToLongTimeString() + "
"); Response.Write("Short Date: " + System.DateTime.Now.ToShortDateString() + "
"); Response.Write("Short Time: " + System.DateTime.Now.ToShortTimeString() + "
"); Response.Write("ToString Default: " + System.DateTime.Now.ToString() + "
"); Response.Write("Universal Time: " + System.DateTime.Now.ToUniversalTime() + "
"); // returns a datetime, which can still be formatted Response.Write("d - Short Date: " + System.DateTime.Now.ToString("d") + "
"); Response.Write("D - Long Date: " + System.DateTime.Now.ToString("D") + "
"); Response.Write("t - Short Time: " + System.DateTime.Now.ToString("t") + "
"); Response.Write("T - Long Time: " + System.DateTime.Now.ToString("T") + "
"); Response.Write("f - Full date/time (short time): " + System.DateTime.Now.ToString("f") + "
"); Response.Write("F - Full date/time (long time): " + System.DateTime.Now.ToString("F") + "
"); Response.Write("g - General: " + System.DateTime.Now.ToString("g") + "
"); Response.Write("G - General: " + System.DateTime.Now.ToString("G") + "
"); Response.Write("M/m - Month day: " + System.DateTime.Now.ToString("M") + "
"); Response.Write("u - Universal Sortable: " + System.DateTime.Now.ToString("u") + "
"); Response.Write("Y/y - Year month: " + System.DateTime.Now.ToString("y") + "
"); Response.Write("d, day of month: " + System.DateTime.Now.ToString(" d") + "
"); // can"t use just "d" Response.Write("dd, zero-padded day of month: " + System.DateTime.Now.ToString("dd") + "
"); Response.Write("ddd, abbreviated day of week: " + System.DateTime.Now.ToString("ddd") + "
"); Response.Write("dddd, full day of week: " + System.DateTime.Now.ToString("dddd") + "
"); Response.Write("h, hour: " + System.DateTime.Now.ToString(" h") + "
"); // can"t use just "h" Response.Write("hh, hour, zero padded " + System.DateTime.Now.ToString("hh") + "
"); Response.Write("H, hour, 24-hr " + System.DateTime.Now.ToString(" H") + "
"); // can"t use just "H" Response.Write("H, hour, 24-hr, zero padded " + System.DateTime.Now.ToString("HH") + "
"); Response.Write("m, minute: " + System.DateTime.Now.ToString(" m") + "
"); // can"t use just "m" Response.Write("M, month: " + System.DateTime.Now.ToString(" M") + "
"); // can"t use just "M" Response.Write("MM, month, zero padded: " + System.DateTime.Now.ToString("MM") + "
"); Response.Write("MMM, month abbreviated: " + System.DateTime.Now.ToString("MMM") + "
"); Response.Write("MMMM, month full name: " + System.DateTime.Now.ToString("MMMM") + "
"); Response.Write("y, year (omits century): " + System.DateTime.Now.ToString(" y") + "
"); // can"t use just "y" Response.Write("yy, 2-digit year, zero padded: " + System.DateTime.Now.ToString("yy") + "
"); Response.Write("yyyy, 4-digit year, zero padded: " + System.DateTime.Now.ToString("yyyy") + "
");
} </script></source>
Format DateTime variable (VB)
<source lang="csharp">
<%@ Page %> <script Language="vb" runat="server"> Private Sub Page_Load(sender As Object, e As System.EventArgs)
Response.Write("Default: " & System.DateTime.Now & "
") Response.Write("Local Time: " & System.DateTime.Now.ToLocalTime() & "
") Response.Write("Long Date: " & System.DateTime.Now.ToLongDateString() & "
") Response.Write("Long Time: " & System.DateTime.Now.ToLongTimeString() & "
") Response.Write("Short Date: " & System.DateTime.Now.ToShortDateString() & "
") Response.Write("Short Time: " & System.DateTime.Now.ToShortTimeString() & "
") Response.Write("ToString Default: " & System.DateTime.Now.ToString() & "
") Response.Write("Universal Time: " & System.DateTime.Now.ToUniversalTime() & "
") " returns a datetime, which can still be formatted " Using Format Strings Response.Write("d - Short Date: " & System.DateTime.Now.ToString("d") & "
") Response.Write("D - Long Date: " & System.DateTime.Now.ToString("D") & "
") Response.Write("t - Short Time: " & System.DateTime.Now.ToString("t") & "
") Response.Write("T - Long Time: " & System.DateTime.Now.ToString("T") & "
") Response.Write("f - Full date/time (short time): " & System.DateTime.Now.ToString("f") & "
") Response.Write("F - Full date/time (long time): " & System.DateTime.Now.ToString("F") & "
") Response.Write("g - General: " & System.DateTime.Now.ToString("g") & "
") Response.Write("G - General: " & System.DateTime.Now.ToString("G") & "
") Response.Write("M/m - Month day: " & System.DateTime.Now.ToString("M") & "
") Response.Write("u - Universal Sortable: " & System.DateTime.Now.ToString("u") & "
") Response.Write("Y/y - Year month: " & System.DateTime.Now.ToString("y") & "
") " Custom Format Strings Response.Write("d, day of month: " & System.DateTime.Now.ToString(" d") & "
") " can"t use just "d" Response.Write("dd, zero-padded day of month: " & System.DateTime.Now.ToString("dd") & "
") Response.Write("ddd, abbreviated day of week: " & System.DateTime.Now.ToString("ddd") & "
") Response.Write("dddd, full day of week: " & System.DateTime.Now.ToString("dddd") & "
") Response.Write("h, hour: " & System.DateTime.Now.ToString(" h") & "
") " can"t use just "h" Response.Write("hh, hour, zero padded " & System.DateTime.Now.ToString("hh") & "
") Response.Write("H, hour, 24-hr " & System.DateTime.Now.ToString(" H") & "
") " can"t use just "H" Response.Write("H, hour, 24-hr, zero padded " & System.DateTime.Now.ToString("HH") & "
") Response.Write("m, minute: " & System.DateTime.Now.ToString(" m") & "
") " can"t use just "m" Response.Write("M, month: " & System.DateTime.Now.ToString(" M") & "
") " can"t use just "M" Response.Write("MM, month, zero padded: " & System.DateTime.Now.ToString("MM") & "
") Response.Write("MMM, month abbreviated: " & System.DateTime.Now.ToString("MMM") & "
") Response.Write("MMMM, month full name: " & System.DateTime.Now.ToString("MMMM") & "
") Response.Write("y, year (omits century): " & System.DateTime.Now.ToString(" y") & "
") " can"t use just "y" Response.Write("yy, 2-digit year, zero padded: " & System.DateTime.Now.ToString("yy") & "
") Response.Write("yyyy, 4-digit year, zero padded: " & System.DateTime.Now.ToString("yyyy") & "
")
End Sub "Page_Load </script></source>
Set the asp:Label in code behind based on current time (VB.net)
<source lang="csharp">
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="MyPage" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Untitled Page</title>
</head> <body>
<form id="form1" runat="server">
</form>
</body> </html>
File: Default.aspx.vb
Partial Class MyPage
Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If DateTime.Now.Hour >= 6 And DateTime.Now.Hour < 12 Then lblMessage.Text = "Good morning." End If If DateTime.Now.Hour >= 12 And DateTime.Now.Hour <= 17 Then lblMessage.Text = "Good afternoon." End If If DateTime.Now.Hour > 17 Or DateTime.Now.Hour < 6 Then lblMessage.Text = "Good evening." End If End Sub
End Class</source>
Today.Ticks
<source lang="csharp">
<%@ Page %> <script language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs) Dim ticks As Long ticks=DateTime.Now.Ticks-DateTime.Today.Ticks Dim ts As New TimeSpan(ticks) Hours.Text=ts.Hours.ToString() Minutes.Text=ts.Minutes.ToString() Seconds.Text=ts.Seconds.ToString() End Sub
</script> <html>
<body> <form id="form1" method="post" runat="server"> Since the start of the day <asp:Label ID="Hours" Runat="server" /> hours, <asp:Label ID="Minutes" Runat="server" /> minutes and <asp:Label ID="Seconds" Runat="server" /> seconds have passed. </form> </body>
</html></source>