Monday, June 11, 2012
Custom Date Format Strings

A date and time format string defines the text representation of a DateTime value that results from a formatting operation. It can also define the representation of a date and time value that is required in a parsing operation in order to successfully convert the string to a date and time. A custom format string consists of one or more custom date and time format specifiers. Any string that is not a standard date and time format string is interpreted as a custom date and time format string.

Let’s apply a custom format string to the OrderDate field of Orders controller.

Start the Project Designer. In the Project Explorer, double-click on Orders / Fields / OrderDate field node.

OrderDate field of Orders controller.

Change the Data Format String property:

Property Value
Data Format String 'The' d 'of' MMMM, yyyy.

Press OK to save the field. On the toolbar, press Browse.

Navigate to the Orders page. The Order Date values will be rendered in the custom date pattern.

Order Date with custom date format strings.

Below is a list of supported custom date format strings.

Format specifier

Description

Examples

"d"

The day of the month, from 1 through 31.

6/1/2009 1:45:30 PM –> 1
6/15/2009 1:45:30 PM -> 15

"dd"

The day of the month, from 01 through 31.

6/1/2009 1:45:30 PM –> 01
6/15/2009 1:45:30 PM -> 15

"ddd"

The abbreviated name of the day of the week.

6/15/2009 1:45:30 PM -> Mon (en-US)
6/15/2009 1:45:30 PM -> Пн (ru-RU)
6/15/2009 1:45:30 PM -> lun. (fr-FR)

"dddd"

The full name of the day of the week.

6/15/2009 1:45:30 PM -> Monday (en-US)
6/15/2009 1:45:30 PM -> понедельник (ru-RU)
6/15/2009 1:45:30 PM -> lundi (fr-FR)

"f"

The tenths of a second in a date and time value.

6/15/2009 13:45:30.617 –> 6
6/15/2009 13:45:30.050 -> 0

"ff"

The hundredths of a second in a date and time value.

6/15/2009 13:45:30.617 -> 61

6/15/2009 13:45:30.005 -> 00

"fff"

The milliseconds in a date and time value.

6/15/2009 13:45:30.617 –> 617
6/15/2009 13:45:30.0005 -> 000

"ffff"

The ten thousandths of a second in a date and time value.

6/15/2009 13:45:30.6175 –> 6175
6/15/2009 13:45:30.00005 -> 0000

"fffff"

The hundred thousandths of a second in a date and time value.

6/15/2009 13:45:30.61754 –> 61754
6/15/2009 13:45:30.000005 -> 00000

"ffffff"

The millionths of a second in a date and time value.

6/15/2009 13:45:30.617542 –> 617542
6/15/2009 13:45:30.0000005 -> 000000

"fffffff"

The ten millionths of a second in a date and time value.

6/15/2009 13:45:30.6175425 –> 6175425
6/15/2009 13:45:30.0001150 -> 0001150

"g", "gg"

The period or era.

6/15/2009 1:45:30 PM -> A.D.

"h"

The hour, using a 12-hour clock from 1 to 12.

6/15/2009 1:45:30 AM –> 1
6/15/2009 1:45:30 PM -> 1

"hh"

The hour, using a 12-hour clock from 01 to 12.

6/15/2009 1:45:30 AM –> 01
6/15/2009 1:45:30 PM -> 01

"H"

The hour, using a 24-hour clock from 0 to 23.

6/15/2009 1:45:30 AM –> 1
6/15/2009 1:45:30 PM -> 13

"HH"

The hour, using a 24-hour clock from 00 to 23.

6/15/2009 1:45:30 AM –> 01
6/15/2009 1:45:30 PM -> 13

"m"

The minute, from 0 through 59.

6/15/2009 1:09:30 AM –> 9
6/15/2009 1:09:30 PM -> 9

"mm"

The minute, from 00 through 59.

6/15/2009 1:09:30 AM –> 09
6/15/2009 1:09:30 PM -> 09

"M"

The month, from 1 through 12.

6/15/2009 1:45:30 PM -> 6

"MM"

The month, from 01 through 12.

6/15/2009 1:45:30 PM -> 06

"MMM"

The abbreviated name of the month.

6/15/2009 1:45:30 PM -> Jun (en-US)
6/15/2009 1:45:30 PM -> juin (fr-FR)
6/15/2009 1:45:30 PM -> Jun (zu-ZA)

"MMMM"

The full name of the month.

6/15/2009 1:45:30 PM -> June (en-US)
6/15/2009 1:45:30 PM -> juni (da-DK)
6/15/2009 1:45:30 PM -> uJuni (zu-ZA)

"s"

The second, from 0 through 59.

6/15/2009 1:45:09 PM -> 9

"ss"

The second, from 00 through 59.

6/15/2009 1:45:09 PM -> 09

"t"

The first character of the AM/PM designator.

6/15/2009 1:45:30 PM -> P (en-US)
6/15/2009 1:45:30 PM -> 午 (ja-JP)
6/15/2009 1:45:30 PM -> (fr-FR)

"tt"

The AM/PM designator.

6/15/2009 1:45:30 PM -> PM (en-US)
6/15/2009 1:45:30 PM -> 午後 (ja-JP)
6/15/2009 1:45:30 PM -> (fr-FR)

"y"

The year, from 0 to 99.

1/1/0001 12:00:00 AM –> 1
1/1/0900 12:00:00 AM –> 0
1/1/1900 12:00:00 AM –> 0
6/15/2009 1:45:30 PM -> 9

"yy"

The year, from 00 to 99.

1/1/0001 12:00:00 AM –> 01
1/1/0900 12:00:00 AM –> 00
1/1/1900 12:00:00 AM –> 00
6/15/2009 1:45:30 PM -> 09

"yyyy"

The year as a four-digit number.

1/1/0001 12:00:00 AM –> 0001
1/1/0900 12:00:00 AM –> 0900
1/1/1900 12:00:00 AM –> 1900
6/15/2009 1:45:30 PM -> 2009

"z"

Hours offset from UTC, with no leading zeros.

6/15/2009 1:45:30 PM -07:00 -> -7

"zz"

Hours offset from UTC, with a leading zero for a single-digit value.

6/15/2009 1:45:30 PM -07:00 -> -07

"zzz"

Hours and minutes offset from UTC.

6/15/2009 1:45:30 PM -07:00 -> -07:00

":"

The time separator.

6/15/2009 1:45:30 PM -> : (en-US)
6/15/2009 1:45:30 PM -> . (it-IT)
6/15/2009 1:45:30 PM -> : (ja-JP)

"/"

The date separator.

6/15/2009 1:45:30 PM -> / (en-US)
6/15/2009 1:45:30 PM -> - (ar-DZ)
6/15/2009 1:45:30 PM -> . (tr-TR)

'string'

Literal string delimiter.

6/15/2009 1:45:30 PM ('arr:' h:m t) -> arr: 1:45 P

%

Defines the following character as a custom format specifier.

6/15/2009 1:45:30 PM (%h) -> 1

Any other character

The character is copied to the result string unchanged.

6/15/2009 1:45:30 AM (arr hh:mm t) -> arr 01:45 A