日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

由freemarker毫秒级时间谈固定日期格式

發布時間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 由freemarker毫秒级时间谈固定日期格式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ?需要在freemarker中呈現毫秒級時間,查了很多資料,始終不對。最后終于弄明白原因:java和c#中日期的毫秒表示是不同的。c#中的毫秒級用f表示,java中用S表示。而我將一直在java中用C#的表示方法……

正確地表示:

<date>${logs.eventDate?string('yyyy-MM-dd HH:mm:ss.SSS')}</date>

1.java中的日期格式——摘自:點擊打開鏈接

日期和時間模式

日期和時間格式由日期和時間模式?字符串指定。在日期和時間模式字符串中,未加引號的字母?'A'?到?'Z'?和?'a'?到?'z'?被解釋為模式字母,用來表示日期或時間字符串元素。文本可以使用單引號 (') 引起來,以免進行解釋。"''"?表示單引號。所有其他字符均不解釋;只是在格式化時將它們簡單復制到輸出字符串,或者在解析時與輸入字符串進行匹配。

定義了以下模式字母(所有其他字符?'A'?到?'Z'?和?'a'?到?'z'?都被保留):

字母 日期或時間元素 表示 示例
G Era 標志符 Text AD
y Year 1996;?96
M 年中的月份 Month July;?Jul;?07
w 年中的周數 Number 27
W 月份中的周數 Number 2
D 年中的天數 Number 189
d 月份中的天數 Number 10
F 月份中的星期 Number 2
E 星期中的天數 Text Tuesday;?Tue
a Am/pm 標記 Text PM
H 一天中的小時數(0-23) Number 0
k 一天中的小時數(1-24) Number 24
K am/pm 中的小時數(0-11) Number 0
h am/pm 中的小時數(1-12) Number 12
m 小時中的分鐘數 Number 30
s 分鐘中的秒數 Number 55
S 毫秒數 Number 978
z 時區 General time zone Pacific Standard Time;?PST;?GMT-08:00
Z 時區 RFC 822 time zone -0800

示例

以下示例顯示了如何在美國語言環境中解釋日期和時間模式。給定的日期和時間為美國太平洋時區的本地時間 2001-07-04 12:08:56。 日期和時間模式 結果
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
2.C#中的日期格式—— 摘自:點擊打開鏈接

{0:yyyy-MM-dd HH:mm:ss.fff}:使用24小時制格式化日期
{0:yyyy-MM-dd hh:mm:ss.fff}:使用12小時制格式化日期

以下同理,從左至右分別為-年-月-日 時:分:秒.毫秒
{0:yyyy-MM-dd HH:mm:ss zzz}
{0:yyyy-MM-dd HH:mm:ss.ff zzz}
{0:yyyy-MM-dd HH:mm:ss.fff zzz}
{0:yyyy-MM-dd HH:mm:ss.ffff zzz}

以下測試代碼
//---假設時間為-2009-03-17 16:50:49.92
object objValue2 = Business.Services.ExecuteScalar(sqliteconnstring, "Select LastUpdate From CmItemClass2 order by LastUpdate desc limit 0,1");
string lastUpdate2 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", objValue2); //--輸出2009-03-17 16:50:49.920
string lastUpdate3 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd hh:mm:ss.fff}", objValue2); //--輸出2009-03-17 04:50:49.920


//--------------------
y 將指定 DateTime 對象的年份部分顯示為位數最多為兩位的數字。忽略年的前兩位數字。如果年份是一位數字 (1-9),則它顯示為一位數字。
yy 將指定 DateTime 對象的年份部分顯示為位數最多為兩位的數字。忽略年的前兩位數字。如果年份是一位數字 (1-9),則將其格式化為帶有前導 0 (01-09)。
yyyy 顯示指定 DateTime 對象的年份部分(包括世紀)。如果年份長度小于四位,則按需要在前面追加零以使顯示的年份長度達到四位。

z 僅以整小時數為單位顯示系統當前時區的時區偏移量。偏移量總顯示為帶有前導或尾隨符號(零顯示為“+0”),指示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時數。值的范圍是 –12 到 +13。如果偏移量為一位數 (0-9),則將其顯示為帶合適前導符號的一位數。該時區的設置指定為 +X 或 –X,其中 X 是相對 GMT 以小時為單位的偏移量。所顯示的偏移量受夏時制的影響。
zz 僅以整小時數為單位顯示系統當前時區的時區偏移量。偏移量總顯示為帶有前導或尾隨符號(零顯示為“+00”),指示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時數。值范圍為 –12 到 +13。如果偏移量為單個數字 (0-9),則將其格式化為前面帶有 0 (01-09) 并帶有適當的前導符號。該時區的設置指定為 +X 或 –X,其中 X 是相對 GMT 以小時為單位的偏移量。所顯示的偏移量受夏時制的影響。
zzz, zzz(外加任意數量的附加“z”字符)以小時和分鐘為單位顯示系統當前時區的時區偏移量。偏移量總是顯示為帶有前導或尾隨符號(零顯示為“+00:00”),指示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時和分鐘數。值范圍為 –12 到 +13。如果偏移量為單個數字 (0-9),則將其格式化為前面帶有 0 (01-09) 并帶有適當的前導符號。該時區的設置指定為 +X 或 –X,其中 X 是相對 GMT 以小時為單位的偏移量。所顯示的偏移量受夏時制的影響。


: 時間分隔符。
/ 日期分隔符。
" 帶引號的字符串。顯示轉義符 (/) 之后兩個引號之間的任何字符串的文本值。?
' 帶引號的字符串。顯示兩個“'”字符之間的任何字符串的文本值。
%c 其中 c 是標準格式字符,顯示與格式字符關聯的標準格式模式。
\c 其中 c 是任意字符,轉義符將下一個字符顯示為文本。在此上下文中,轉義符不能用于創建轉義序列(如“\n”表示換行)。
任何其他字符 其他字符作為文本直接寫入輸出字符串。

向 DateTime.ToString 傳遞自定義模式時,模式必須至少為兩個字符長。如果只傳遞“d”,則公共語言運行庫將其解釋為標準格式說明符,這是因為所有單個格式說明符都被解釋為標準格式說明符。如果傳遞單個“h”,則引發異常,原因是不存在標準的“h”格式說明符。若要只使用單個自定義格式進行格式化,請在說明符的前面或后面添加一個空格。例如,格式字符串“h”被解釋為自定義格式字符串。

下表顯示使用任意值 DateTime.Now(該值顯示當前時間)的示例。示例中給出了不同的區域性和時區設置,以闡釋更改區域性的影響。可以通過下列方法更改當前區域性:更改 Microsoft Windows 的“日期/時間”控制面板中的值,傳遞您自己的 DateTimeFormatInfo 對象,或將 CultureInfo 對象設置傳遞給不同的區域性。此表是說明自定義日期和時間說明符如何影響格式化的快速指南。請參閱該表下面闡釋這些說明符的代碼示例部分。

格式說明符 當前區域性 時區 輸出
d, M en-US GMT 12, 4
d, M es-MX GMT 12, 4
d MMMM en-US GMT 12 April
d MMMM es-MX GMT 12 Abril
dddd MMMM yy gg en-US GMT Thursday April 01 A.D.
dddd MMMM yy gg es-MX GMT Jueves Abril 01 DC
h , m: s en-US GMT 6 , 13: 12
hh,mm:ss en-US GMT 06,13:12
HH-mm-ss-tt en-US GMT 06-13-12-AM
hh:mm, G\MT z? en-US GMT 05:13 GMT +0
hh:mm, G\MT z? en-US GMT +10:00 05:13 GMT +10
hh:mm, G\MT zzz en-US GMT 05:13 GMT +00:00

總結

以上是生活随笔為你收集整理的由freemarker毫秒级时间谈固定日期格式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。