如何在 libreoffice calc 中将日期格式从 MM/DD/YYYY 更改为 DD/MM/YYYY?

Posted

技术标签:

【中文标题】如何在 libreoffice calc 中将日期格式从 MM/DD/YYYY 更改为 DD/MM/YYYY?【英文标题】:How do I change the date format from MM/DD/YYYY to DD/MM/YYYY in libreoffice calc? 【发布时间】:2020-02-11 17:27:28 【问题描述】:

我有一个包含现有日期值的电子表格,我想将其从 MM/DD/YYYY 转换为 DD/MM/YYYY 格式。有没有办法做到这一点?

电子表格来自我在 calc 中打开的其他人的 csv 文件。

【问题讨论】:

您是否尝试过更改单元格的格式? @cybernetic.nomad 是的,不幸的是不起作用 您确定这些是日期而不是看起来像日期的文本吗? 值从何而来?您是否手动输入它们,从 CSV 导入它们,从其他人那里得到电子表格? -- 你介意发布这些值之一吗?您可以尝试复制粘贴它,或者仅当它 类似于 Calc 中显示的值时,才提供(小)屏幕截图。 -- 请edit你的问题,不要在cmets下面添加信息。 当您在 Calc 中打开 CSV 时,系统会询问您有关列格式的信息。您是否尝试将payment_date 的数据类型设置为“日期”? -- 您介意提供几行 CSV 文件,或者至少提供一些包含payment_date 的摘录吗?显然您想编辑一些敏感值,并限制字段的数量。您可以使用任何文本编辑器打开 CSV 文件。 【参考方案1】:

    选择带有日期的单元格,然后在Cell -> Format 中选择所需的日期格式 (DD/MM/YYYY)

    确保选中单元格,转到Data -> Text to columns 选择“分隔方式”和“制表符”,然后单击“确定”

单元格现在应该具有所需的格式

【讨论】:

感谢您的建议,但这不会改变任何事情 您是否按照步骤完成了?在我的机器上工作正常 2.是我自己无法弄清楚的步骤【参考方案2】:

    剪切(或复制然后擦除)列中的所有值 (CTRL + X)。

    选择编辑 -> 选择性粘贴 -> 无格式文本(MAJ + CTRL + ALT + V)。

    在“字段”上,点击您的列,然后选择“日期 (MDY)”。在这里选择数据当前的格式很重要,而不是您想要的格式。

如果日期仍然不正确,您将需要执行此附加步骤(来自@cybernetic.nomad 的上述回复):

    选择带有日期的单元格,然后在单元格 -> 格式中选择所需的日期格式 (DD/MM/YYYY)。

注意:请注意,我的 LibreOffice Calc 不是英文的,所以我不能 100% 确定选项名称。

【讨论】:

【参考方案3】:

您选择要格式化的单元格,然后按 Ctrl-1(或从菜单中选择“格式”-“单元格...”或任何其他方式)打开对话框以格式化单元格。有一个文本字段“格式代码”,您可以在其中输入不带引号的“DD/MM/YYYY”。点击“确定”。

如果这样做 不是 像您想要的那样格式化日期,则单元格中的值不能解释为日期。调查单元格的值,您可能有一个文本标记(单个撇号 ')作为第一个字符。

要检查这一点并尝试使用这些格式,请从菜单中选择“插入”-“日期”。它将当前日期放入当前单元格。

免责声明:由于我的 Calc 未设置为英文,菜单名称及其条目可能不同。我只是猜猜它们是怎么命名的。


编辑:

如果由于日期一直被识别为“文本”而无法更改单元格格式,您不妨试试这个:

    从日期列右侧插入一列。这会在您的情况下产生列O。它右侧的所有列都被推到右侧。

    将此公式放入第一个日期文本右侧的单元格O2

    =CONCATENATE(MID(N2;4;3);MID(N2;1;3);MID(N2;7;4))
    

    它从单元格 N2 获取 sn-ps (MID()) 并以新顺序连接它们。函数的详细信息在 Calc 的文档中。

    如果N2 不是您输入公式的单元格左侧的单元格不是,您需要将其调整为正确的单元格引用。

    将单元格光标放在N2

    按顺序按下这些组合键可在O 列中标记足够深的单元格范围:Control-Down、Right、Shift-Control-Up。单元格光标现在将位于单元格 O2 上,并标记下方和包括它的范围。 现在按 Control-D 将 O2 中的公式复制到范围内的每个单元格中。

现在您将有一个新列O,其文本为N,但交换了字符。不过,这些值仍然是“文本”。

如果您愿意,现在可以缩小N 列的宽度,或者将其隐藏。

【讨论】:

它看起来像是文本而不是日期值......我怎样才能获得所需的格式作为文本值? 有一些转换器功能。请参阅 Calc 的文档,或在您的问题中添加更多信息,就像我刚才要求的那样。【参考方案4】:

示例: 需要输入:DD/MM/YYYY (31/12/2021)

接受输入:MM/DD/YYYY(2021 年 12 月 31 日)

先添加新的日期类型

    转到格式 --> 单元格 在“类别”中选择“日期” 在“格式代码”中写入所需的输入。在这种情况下 DD/MM/YYYY 按绿色复选标记

第二种格式样式

    进入要添加日期的单元格 日期格式错误。示例:2021 年 12 月 31 日(2021 年 12 月 31 日)即使您想要 21/11/2021 选择该单元格并按 CTRL-X。文字应该消失 选择现在为空的单元格并执行:编辑 -> 选择性粘贴 -> 粘贴未格式化的文本 日期格式错误 选择日期错误的单元格并执行:格式 --> 单元格 在“类别”中选择“日期”并双击新添加的日期类型(又名 DD/MM/YYYY)

【讨论】:

以上是关于如何在 libreoffice calc 中将日期格式从 MM/DD/YYYY 更改为 DD/MM/YYYY?的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行 Python 脚本将所有工作表保存在 LibreOffice Calc 电子表格中

Libreoffice calc 宏将当前日期 + 14 天放入单元格

libreoffice 在带有表格边缘的命令行中将 xlsx 转换为 pdf

在 Libreoffice Basic 中将日期存储在数组中

如何在 LibreOffice Calc 中交换两个单元格

如何让 LibreOffice 无头 Calc 计算以保存 uno 的新值?