You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PowerShell:将MM/DD/YYYY格式转为MySQL DateTime(非字符串解析方式)

在PowerShell中无字符串解析转换日期格式到MySQL格式

嘿,这个需求很容易实现,咱们全程用PowerShell的日期对象原生能力来处理,完全不涉及字符串解析操作,具体步骤如下:

  1. 将输入的MM/DD/YYYY字符串转为DateTime对象
    因为输入是美式日期格式,我们需要指定对应的文化信息来确保解析准确,避免系统默认文化差异导致的错误:

    # 示例输入日期
    $inputDate = "03/16/2018"
    # 转换为DateTime对象
    $dateObject = [DateTime]::ParseExact($inputDate, "MM/dd/yyyy", [System.Globalization.CultureInfo]::GetCultureInfo("en-US"))
    
  2. 将DateTime对象格式化为MySQL支持的YYYY-MM-DD格式
    直接调用日期对象的ToString方法,指定目标格式字符串即可:

    $mysqlFormattedDate = $dateObject.ToString("yyyy-MM-dd")
    # 输出结果:2018-03-16
    

简化版一行代码

如果想更简洁,可以把两步合并成一行:

$mysqlDate = [DateTime]::ParseExact("03/16/2018", "MM/dd/yyyy", [System.Globalization.CultureInfo]::GetCultureInfo("en-US")).ToString("yyyy-MM-dd")

为什么这不是字符串解析?

这里的核心是我们先把输入字符串转换成了真正的DateTime对象,所有格式转换都是基于日期对象的原生方法,没有手动去拆分字符串中的月、日、年字段,也没有做字符串拼接操作,完全符合你“不使用字符串解析”的要求。

内容的提问来源于stack exchange,提问作者Kellen Stuart

火山引擎 最新活动