path = "D:\MyFiles"
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "cd \"" + path + "\" && ftp -s:ftpscript.bat");
代码导致编译错误"不包含ToUnixTimeSeconds ..." 的定义。
它在VS 2015中运行良好,我也有var item = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
命名空间以及对mscorlib和System(4.0.0.0版本)的引用。 DateTimeOffset的许多其他成员都存在。
答案 0 :(得分:13)
(根据Eric的评论编辑)
在.NET Framework 4.6中添加了以下API;来自release notes:
支持将日期和时间转换为Unix时间或从Unix时间转换
DateTimeOffset结构中添加了以下新方法,以支持将日期和时间值转换为Unix时间或从Unix时间转换:
您还可以查看"适用于"官方文档中确认兼容性的部分:https://docs.microsoft.com/en-us/dotnet/api/system.datetimeoffset.tounixtimeseconds#applies-to
只需将您的应用程序目标框架更新为项目文件(.csproj
)中的框架版本4.6或更高版本:
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<!--
or multiple frameworks at once:
<TargetFrameworks>net46,netstandard1.3</TargetFrameworks>
-->
...
</PropertyGroup>
然后在C#代码中:
public static long UnixTimeNowSec => DateTimeOffset.Now.ToUnixTimeSeconds();
答案 1 :(得分:4)
我最近在新项目中遇到了同样的问题。在做了一些谷歌搜索和测试后我做了什么找到这样的功能:
for (int i=0; i<position.length; i++){
for (int j=0; j<position.length; j++){
if(position[i] > position[j]){
swap (position[i], position[j]);
}
}
}
// and do this for position[i+1] (i.e. Y) and then position[i+2] (i.e. Z)
希望它有所帮助。