今天恰好周末有時間打點自己的小站看到別人都使用了站點地圖我也不能落後於是按照網上說的下載了幾個工具可是發現並是很適合自己的站於是想到了自己寫代碼生成站點地圖好一切進展順利幾小時後將自己用ASPNET生成的站點地圖提交給Google沒想到被警告了只因為時間格式問題於是找資料轉換時間格式終於通過了驗收!足見時間格式在某些場合的重要性有時候我們要對時間進行轉換達到不同的顯示效果
默認格式為: ::
如果要換成成或更多的該怎麼辦呢
我們要用到ateTimeToString的方法(String IFormatProvider)
using System;
using SystemGlobalization;
String format=D;
DateTime date=DataTimeNow;
ResponseWrite(dateToString(format DateTimeFormatInfoInvariantInfo));
結果輸出
Thursday June
參數format格式詳細用法
格式字符 關聯屬性/說明
d ShortDatePattern
D LongDatePattern
f 完整日期和時間(長日期和短時間)
F FullDateTimePattern(長日期和長時間)
g 常規(短日期和短時間)
G 常規(短日期和長時間)
mM MonthDayPattern
rR RFCPattern
s 使用當地時間的 SortableDateTimePattern(基於 ISO )
t ShortTimePattern
T LongTimePattern
u UniversalSortableDateTimePattern 用於顯示通用時間的格式
U 使用通用時間的完整日期和時間(長日期和長時間)
yY YearmonthPattern
下表列出了可被合並以構造自定義模式的模式這些模式是區分大小寫的例如識別MM但不識別mm如果自定義模式包含空白字符或用單引號括起來的字符則輸出字符串頁也將包含這些字符未定義為格式模式的一部分或未定義為格式字符的字符按其原義復制
格式模式 說明
d 月中的某一天一位數的日期沒有前導零
dd 月中的某一天一位數的日期有一個前導零
ddd 周中某天的縮寫名稱在 AbbreviatedDayNames 中定義
dddd 周中某天的完整名稱在 DayNames 中定義
M 月份數字一位數的月份沒有前導零
MM 月份數字一位數的月份有一個前導零
MMM 月份的縮寫名稱在 AbbreviatedMonthNames 中定義
MMMM 月份的完整名稱在 MonthNames 中定義
y 不包含紀元的年份如果不包含紀元的年份小於 則顯示不具有前導零的年份
yy 不包含紀元的年份如果不包含紀元的年份小於 則顯示具有前導零的年份
yyyy 包括紀元的四位數的年份
gg 時期或紀元如果要設置格式的日期不具有關聯的時期或紀元字符串則忽略該模式
h 小時制的小時一位數的小時數沒有前導零
hh 小時制的小時一位數的小時數有前導零
H 小時制的小時一位數的小時數沒有前導零
HH 小時制的小時一位數的小時數有前導零
m 分鐘一位數的分鐘數沒有前導零
mm 分鐘一位數的分鐘數有一個前導零
s 秒一位數的秒數沒有前導零
ss 秒一位數的秒數有一個前導零
f 秒的小數精度為一位其余數字被截斷
ff 秒的小數精度為兩位其余數字被截斷
fff 秒的小數精度為三位其余數字被截斷
ffff 秒的小數精度為四位其余數字被截斷
fffff 秒的小數精度為五位其余數字被截斷
ffffff 秒的小數精度為六位其余數字被截斷
fffffff 秒的小數精度為七位其余數字被截斷
t 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項的第一個字符(如果存在)
tt 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項(如果存在)
z 時區偏移量(+或後面僅跟小時)一位數的小時數沒有前導零例如太平洋標准時間是
zz 時區偏移量(+或後面僅跟小時)一位數的小時數有前導零例如太平洋標准時間是
zzz 完整時區偏移量(+或後面跟有小時和分鐘)一位數的小時數和分鐘數有前導零例如太平洋標准時間是:
: 在 TimeSeparator 中定義的默認時間分隔符
/ 在 DateSeparator 中定義的默認日期分隔符
% c 其中 c 是格式模式(如果單獨使用)如果格式模式與原義字符或其他格式模式合並則可以省略%字符
\ c 其中 c 是任意字符照原義顯示字符若要顯示反斜槓字符請使用\\
只有上面第二個表中列出的格式模式才能用於創建自定義模式在第一個表中列出的標准格式字符不能用於創建自定義模式自定義模式的長度至少為兩個字符例如
DateTimeToString( d 返回 DateTime 值d是標准短日期模式
DateTimeToString( %d 返回月中的某天%d是自定義模式
DateTimeToString( d 返回後面跟有一個空白字符的月中的某天d是自定義模式
比較方便的是上面的參數可以隨意組合並且不會出錯多試試肯定會找到你要的時間格式
如要得到年月 這樣格式的時間
可以這樣寫:
dateToString(yyyy年MM月 DateTimeFormatInfoInvariantInfo)
還例如QQ郵箱的時間年月日(星期五) 下午:
dateToString(yyyy年MM月(星期ddd)HH:mm);
From:http://tw.wingwit.com/Article/program/net/201311/12253.html