簡體   English   中英

"如何將 Excel 中的日期轉換為 ISO 8601 格式"

[英]How to convert a date in Excel to ISO 8601 format

我正在嘗試將日期格式保存為 YYYY-MM-DD,例如 2014-09-01 作為 CSV 文件,但是當我這樣做時,格式會恢復為 M/D/YYYY 格式。

我嘗試在 Excel 中將日期轉換為字符串,但每次打開 CSV 文件時,它都會返回 M/D/YYYY 格式。 我需要將 ISO 8601 日期格式保存在 CSV 文件中。 我該怎么做呢?

基本功能是:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

使用此選項可將Excel日期列轉換為單獨的ISO 8601日期列。 接下來,將ISO 8601列復制到原件上(粘貼特殊:僅粘貼值)。 刪除現在有垃圾的計算的ISO 8601列,因為Excel糟透了ISO 8601日期。

您現在有一個轉換的CSV或TSV或諸如此類的東西。 只需保存為原始格式,並忽略愚蠢的Excel抱怨它不是它的本機文件格式以及如何通過保存為CSV文件以某種方式“丟失”並盡量不去考慮微軟偷竊的生活時間與那個愚蠢的對話。

作為非英語用戶的注意事項。 我花了一段時間才弄明白,格式字符串對您的區域設置/區域設置很敏感。 例如,我的格式設置為德語:

=TEXT(C2;"jjjjMMtt")

(雖然OS和Excel設置為英語。)

我復制並粘貼了@Dirk Bester的公式,

=TEXT(A1,”yyyy-mm-ddThh:MM:ss”)

但它不起作用,Excel 2010抱怨高低 - 也就是說,直到我將引號從某種“智能引用”更改為普通的舊ASCII 0x22引號:

=TEXT(A1,"yyyy-mm-ddThh:MM:ss")

而現在它就像一個魅力。 僅供參考。

您可以直接跳到核選項:更改計算機的“區域和語言”設置以使用“yyyy-MM-dd”短日期格式。

您可以設置一個單元格,例如:

右鍵單擊單元格>單元格格式>類別>自定義>類型>寫入:

aaaa-mm-jjThh:mm:ss (french format here)
yyyy-mm-ddThh:MM:ss (english format)

對不起我的英語不好。

我相信你可能已經在.csv文件中創建了正確的格式。

但是Excel會自動將其強制轉換為打開.csv文件時提到的格式的日期值。 解決方案可能是導入.csv文件而不是打開它,並且在獲取外部數據的步驟3中,從文本中確保在適當的情況下為列數據格式選擇了文本。

FWIW,以上都沒有在16世紀日期的Excel中為我工作,例如1558年8月26日的26-08-1558。所以為了將其轉換為ISO日期,我使用了:

=RIGHT(D2|4)&"-"&MID(D2|4|2)&"-"&LEFT(D2|2)
=DATEVALUE(LEFT(A1;10))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM