小编kou*_*uri的帖子

C# - 转换DateTime格式yyyy-MM-dd

我正在尝试将DateTime格式从"dd/MM/yyyy"更改为"yyyy-MM-dd"

这就是我现在所拥有的:

DateTime date = Convert.ToDateTime("31/01/2000");
Console.WriteLine(date);

String format = "yyyy-MM-dd";
String dateStr = date.ToString(format);
Console.WriteLine(dateStr);

DateTime parsedDate = DateTime.ParseExact(dateStr, format, CultureInfo.InvariantCulture);
Console.WriteLine(parsedDate);
Run Code Online (Sandbox Code Playgroud)

我得到这些结果:

31/01/2000 12:00:00 AM
2000-01-31
31/01/2000 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

最终,我希望最后的结果是2000-01-31

编辑:只是为了澄清我的实际目标.我正在使用SSIS将DT_DATE(dd/MM/yyyy)字段转换为另一个DT_DATE(yyyy-MM-dd)字段.所以我想我会使用脚本组件.这意味着我无法将其转换回String.

编辑++回答:

对不起大家,我想我已经弄糊涂了这个问题,但我现在可以自己回答.

我的目标是在SSIS中将源字段DT_DATE(dd/MM/yyyy)转换为dest字段DT_DATE(yyyy-MM-dd).

我首先尝试使用(替换原始字段)和(DT_DBDATE)字段使用派生列.这不起作用,因为它给了我原始的来源.

所以我尝试使用脚本组件,这导致我的问题的顶部,并且很多混乱.它根本不起作用.

解决方案是通过"添加新列"并给它(DT_DBDATE)字段来使用派生列.DT_DBDATE的原始格式实际上是yyyy-MM-dd.

c# ssis datetime-format

4
推荐指数
1
解决办法
5万
查看次数

Python subprocess.call和subprocess.Popen给了我不同的输出

使用subprocess.call时,输出是预期的.

result = subprocess.call([securefx, '/NoPrompt', '/Q', '/RetryCount', retries, 
              '/RetryDelay', '1', '/Log', sfxLogFile, '/List', '/S', session])
Run Code Online (Sandbox Code Playgroud)

打印结果将输出-533428或0

但是当我跑步的时候

args = [securefx, '/NoPrompt', '/Q', '/RetryCount', retries, '/RetryDelay', '1', 
       '/Log', sfxLogFile, '/List', '/S', session]
process = subprocess.Popen(args, stdout=subprocess.PIPE)
result = process.communicate()[0]
Run Code Online (Sandbox Code Playgroud)

并打印结果,我得到空白或其他stderr ="无".

他们为什么不同?我正在尝试Popen即使调用正在工作的原因是因为:sfxcl.exe上的Python subprocess.call无法在Windows 2003任务调度程序中工作 < - 我想给它一个...

python subprocess

4
推荐指数
1
解决办法
4021
查看次数

标签 统计

c# ×1

datetime-format ×1

python ×1

ssis ×1

subprocess ×1