datetime

Format DateTime.ToString()

All the patterns:
0 MM/dd/yyyy 08/28/2008
1 dddd, dd MMMM yyyy Thursday, 28 August 2008
2 dddd, dd MMMM yyyy HH:mm Thursday, 28 August 2008 01:00
3 dddd, dd MMMM yyyy hh:mm tt Thursday, 28 August 2008 01:00 AM
4 dddd, dd MMMM yyyy H:mm Thursday, 28 August 2008 1:00
5 dddd, dd MMMM yyyy h:mm tt Thursday, 28 August 2008 1:00 AM
6 dddd, dd MMMM yyyy HH:mm:ss Thursday, 28 August 2008 01:00:44
7 MM/dd/yyyy HH:mm 08/28/2008 01:00
8 MM/dd/yyyy hh:mm tt 08/28/2008 01:00 AM
9 MM/dd/yyyy H:mm 08/28/2008 1:00
10 MM/dd/yyyy h:mm tt 08/28/2008 1:00 AM
11 MM/dd/yyyy HH:mm:ss 08/28/2008 01:00:44
12 MMMM dd August 28
13 MMMM dd August 28
14 yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK 2008-08-28T01:00:44.4829556-04:00
15 yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK 2008-08-28T01:00:44.4829556-04:00
16 ddd, dd MMM yyyy HH':'mm':'ss 'GMT' Thu, 28 Aug 2008 01:00:44 GMT
17 ddd, dd MMM yyyy HH':'mm':'ss 'GMT' Thu, 28 Aug 2008 01:00:44 GMT
18 yyyy'-'MM'-'dd'T'HH':'mm':'ss 2008-08-28T01:00:44
19 HH:mm 01:00
20 hh:mm tt 01:00 AM
21 H:mm 1:00
22 h:mm tt 1:00 AM
23 HH:mm:ss 01:00:44
24 yyyy'-'MM'-'dd HH':'mm':'ss'Z' 2008-08-28 01:00:44Z
25 dddd, dd MMMM yyyy HH:mm:ss Thursday, 28 August 2008 01:00:44
26 yyyy MMMM 2008 August
27 yyyy MMMM 2008 August

The patterns for DateTime.ToString ( 'd' ) :
0 MM/dd/yyyy 08/28/2008

The patterns for DateTime.ToString ( 'D' ) :
0 dddd, dd MMMM yyyy Thursday, 28 August 2008

The patterns for DateTime.ToString ( 'f' ) :
0 dddd, dd MMMM yyyy HH:mm Thursday, 28 August 2008 01:00
1 dddd, dd MMMM yyyy hh:mm tt Thursday, 28 August 2008 01:00 AM
2 dddd, dd MMMM yyyy H:mm Thursday, 28 August 2008 1:00
3 dddd, dd MMMM yyyy h:mm tt Thursday, 28 August 2008 1:00 AM

The patterns for DateTime.ToString ( 'F' ) :
0 dddd, dd MMMM yyyy HH:mm:ss Thursday, 28 August 2008 01:00:44

The patterns for DateTime.ToString ( 'g' ) :
0 MM/dd/yyyy HH:mm 08/28/2008 01:00
1 MM/dd/yyyy hh:mm tt 08/28/2008 01:00 AM
2 MM/dd/yyyy H:mm 08/28/2008 1:00
3 MM/dd/yyyy h:mm tt 08/28/2008 1:00 AM

The patterns for DateTime.ToString ( 'G' ) :
0 MM/dd/yyyy HH:mm:ss 08/28/2008 01:00:44

The patterns for DateTime.ToString ( 'm' ) :
0 MMMM dd August 28

The patterns for DateTime.ToString ( 'r' ) :
0 ddd, dd MMM yyyy HH':'mm':'ss 'GMT' Thu, 28 Aug 2008 01:00:44 GMT

The patterns for DateTime.ToString ( 's' ) :
0 yyyy'-'MM'-'dd'T'HH':'mm':'ss 2008-08-28T01:00:44

The patterns for DateTime.ToString ( 'u' ) :
0 yyyy'-'MM'-'dd HH':'mm':'ss'Z' 2008-08-28 01:00:44Z

The patterns for DateTime.ToString ( 'U' ) :
0 dddd, dd MMMM yyyy HH:mm:ss Thursday, 28 August 2008 01:00:44

The patterns for DateTime.ToString ( 'y' ) :
0 yyyy MMMM 2008 August

Xử lý DateTime trong MS SQL

Hôm nay phải động đến vấn đề xử lý datetime trong SQL, lướt qua trên mạng thu thập về các hàm tiện ích phục vụ cho công việc. Các hàm cơ bản mà MS SQL cung cấp gồm có DATEADD, DATEDIFF, từ những hàm cơ bản này chúng ta có thể tạo ra những hàm tiện ích khác cho công việc gặp phải.

DATEADD(param1, amount, @datetime): Trả về kiểu datetime dựa vào thời điểm cho trước và khoảng thời gian thêm vào. Tham số param1, xác định đơn vị của khoảng thời gian thêm vào như yy(yyyy) cho năm, mm(m) cho tháng, dd(d) cho ngày. Ví dụ DateAdd(dd, 5, GetDate()).

DATEDIFF(<interval>, <startDate>, <endDate>): Trả về khoảng thời gian giữa 2 thời điểm cho trước.

<interval> có thể là các giá trị sau:

  • year
  • quarter
  • month
  • dayofyear
  • day
  • week
  • hour
  • minute
  • second
  • millisecond

Các hàm tiện ích

create function DateOnly(@DateTime DateTime) -- Returns @DateTime at midnight; i.e., it removes the time portion of a DateTime value. returns datetime as begin return dateadd(dd,0, datediff(dd,0,@DateTime)) end go create function Date(@Year int, @Month int, @Day int) -- returns a datetime value for the specified year, month and day -- Thank you to Michael Valentine Jones for this formula (see comments). returns datetime as begin return dateadd(month,((@Year-1900)*12)+@Month-1,@Day-1) end go create function Time(@Hour int, @Minute int, @Second int) -- Returns a datetime value for the specified time at the "base" date (1/1/1900) -- Many thanks to MVJ for providing this formula (see comments). returns datetime as begin return dateadd(ss,(@Hour*3600)+(@Minute*60)+@Second,0) end go create function TimeOnly(@DateTime DateTime) -- returns only the time portion of a DateTime, at the "base" date (1/1/1900) returns datetime as begin return @DateTime - dbo.DateOnly(@DateTime) end go create function DateTime(@Year int, @Month int, @Day int, @Hour int, @Minute int, @Second int) -- returns a dateTime value for the date and time specified. returns datetime as begin return dbo.Date(@Year,@Month,@Day) + dbo.Time(@Hour, @Minute,@Second) end go

Blog's tag:

Subscribe to datetime