例如,太平洋標準時間是「-08:00」。
: 在 timeseparator 中定義的預設時間分隔符。
/ 在 dateseparator 中定義的預設日期分隔符。
%c 其中 c 是格式模式(如果單獨使用)。如果格式模式與原義字元或其他格式模式合併,則可以省略「%」字元。
/c 其中 c 是任意字元。照原義顯示字元。若要顯示反斜槓字元,請使用「//」。
只有上面第二個表中列出的格式模式才能用於建立自定義模式;在第乙個表中列出的標準格式字元不能用於建立自定義模式。自定義模式的長度至少為兩個字元;例如,
datetime.tostring( "d") 返回 datetime 值;「d」是標準短日期模式。
datetime.tostring( "%d") 返回月中的某天;「%d」是自定義模式。
datetime.tostring( "d ") 返回後面跟有乙個空白字元的月中的某天;「d」是自定義模式。
比較方便的是,上面的引數可以隨意組合,並且不會出錯,多試試,肯定會找到你要的時間格式
如要得到2023年06月 這樣格式的時間
可以這樣寫:
date.tostring("yyyy年mm月", datetimeformatinfo.invariantinfo)
如此類推
date.tostring("yyyy/mm/dd hh:mm:ss", datetimeformatinfo.invariantinfo)
//今天
datetime.now.date.toshortdatestring();
//昨天,就是今天的日期減一
datetime.now.adddays(-1).toshortdatestring();
//明天,同理,加一
datetime.now.adddays(1).toshortdatestring();
//本週(要知道本週的第一天就得先知道今天是星期幾,從而得知本週的第一天就是幾天前的那一天,要注意的是這裡的每一周是從週日始至週六止
datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek)))).toshortdatestring();
datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek)))).toshortdatestring();
//如果你還不明白,再看一下中文顯示星期幾的方法就應該懂了
//由於dayofweek返回的是數字的星期幾,我們要把它轉換成漢字方便我們閱讀,有些人可能會用switch來乙個乙個地對照,其實不用那麼麻煩的
string day = new string ;
day[convert.toint16(datetime.now.dayofweek)];
//上週,同理,乙個週是7天,上週就是本週再減去7天,下週也是一樣
datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek))) - 7).toshortdatestring();
datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek))) - 7).toshortdatestring();
//下週
datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek))) + 7).toshortdatestring();
datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek))) + 7).toshortdatestring();
//本月,很多人都會說本月的第一天嘛肯定是1號,最後一天就是下個月一號再減一天。當然這是對的
//一般的寫法
datetime.now.year.tostring() + datetime.now.month.tostring() + "1"; //第一天
datetime.parse(datetime.now.year.tostring() + datetime.now.month.tostring() + "1").addmonths(1).adddays(-1).toshortdatestring();//最後一天
//巧用c#裡tostring的字元格式化更簡便
datetime.now.tostring("yyyy-mm-01");
datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(1).adddays(-1).toshortdatestring();
//上個月,減去乙個月份
datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(-1).toshortdatestring();
datetime.parse(datetime.now.tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();
//下個月,加去乙個月份
datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(1).toshortdatestring();
datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(2).adddays(-1).toshortdatestring();
//7天後
datetime.now.date.toshortdatestring();
datetime.now.adddays(7).toshortdatestring();
//7天前
datetime.now.adddays(-7).toshortdatestring();
datetime.now.date.toshortdatestring();
//本年度,用tostring的字元格式化我們也很容易地算出本年度的第一天和最後一天
datetime.parse(datetime.now.tostring("yyyy-01-01")).toshortdatestring();
datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(1).adddays(-1).toshortdatestring();
//上年度,不用再解釋了吧
datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(-1).toshortdatestring();
datetime.parse(datetime.now.tostring("yyyy-01-01")).adddays(-1).toshortdatestring();
//下年度
datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(1).toshortdatestring();
datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(2).adddays(-1).toshortdatestring();
//本季度,很多人都會覺得這裡難點,需要寫個長長的過程來判斷。其實不用的,我們都知道一年四個季度,乙個季度三個月
//首先我們先把日期推到本季度第乙個月,然後這個月的第一天就是本季度的第一天了
datetime.now.addmonths(0 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");
//同理,本季度的最後一天就是下季度的第一天減一
datetime.parse(datetime.now.addmonths(3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();
//下季度,相信你們都知道了。。。。收工
datetime.now.addmonths(3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");
datetime.parse(datetime.now.addmonths(6 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();
//上季度
datetime.now.addmonths(-3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");
datetime.parse(datetime.now.addmonths(0 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();
【引用 :http://www.caicaitu.com】
c 時間格式化字串詳解
引數format格式詳細用法 格式字元 關聯屬性 說明 d shortdatepattern 08 30 2006 dlongdatepattern wednesday,30 august 2006 f 完整日期和時間 長日期和短時間 wednesday,30 august 2006 23 21 f...
時間字串格式化
利用正則在string原型上新增乙個方法 把指定時間格式的字串換成我們想要的各種格式,例如我們有時需要把 2016 12 22 03 10 00 或者 2016 12 22 03 10 00 等時間字串換成我們想要的2016年12月22日 3時10分0秒等形式展示出來,那麼利用正則以及string中...
c 時間格式化字串詳解 長短轉化
有時候我們要對時間進行轉換,達到不同的顯示效果 預設格式為 2005 6 6 14 33 34 如果要換成成200506,06 2005,2005 6 6或更多的該怎麼辦呢 我們要用到 datetime.tostring的方法 string,iformatprovider using system ...