我想在bash脚本中使用time命令来计算脚本的运行时间并将其写入日志文件.我只需要实时,而不是用户和系统.还需要一个体面的格式.例如00:00:00:00(不像标准输出)我很感激任何建议.
期望的格式应该是00:00:00.0000(毫秒)[小时]:[分钟]:[秒].[毫秒]
我已经有3个脚本了.我看到了这样一个例子:
{ time { # section code goes here } } 2> timing.log
Run Code Online (Sandbox Code Playgroud)
但我只需要实时,而不是用户和系统.还需要一个体面的格式.例如00:00:00:00(不像标准输出).
换句话说,我想知道如何将时间输出变成更容易处理的东西.
我可以在android中使用什么功能将数字显示为不同的格式.
例如:如果我输入1000,那么它应该显示为1,000.如果我输入10000,那么它应该显示为10,000.如果我输入1000000,那么它应该显示为1,000,000.
请指导我.
而不是这样做,我想利用string.format()来完成相同的结果:
if (myString.Length < 3)
{
myString = "00" + 3;
}
Run Code Online (Sandbox Code Playgroud) 我花了好几个小时试图解决这个问题,但无济于事.我读了这本指南.我没有找到如何做我需要的任何例子.
当我运行脚本时,我收到此错误(部分省略):
Traceback (...):
[...]
output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
ValueError: zero length field name in format.
Run Code Online (Sandbox Code Playgroud)
代码是用python 2.6或2.7编写的,但我运行的是python 3.1.我如何更改输出格式以便它可以工作?
def f(x,y,a = 0.01):
return y/(a+x)-y**3
def ekspEuler(N,dat):
output = open(dat,"w")
h = 3.0/N
x,y = 0,1 #zac.pogoj
for i in range(1,N+2):
output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
y += h*f(x,y)
x = i*h
output.close()
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我有一个小问题.我知道%x格式说明符可用于在格式字符串攻击中从堆栈中读取值.
我找到了以下代码:
%08x%08x%08x%08x
Run Code Online (Sandbox Code Playgroud)
08是什么意思?它到底在做什么?谢谢 :)
也许这对你们大多数人来说显然都很简单,但是请你举个例子来说明如何创建类似的方法(在Objective-C中)和C中的函数来创建像NSStrings stringWithFormat:或者类似的函数NSLog().
提醒一下:
[NSString stringWithFormat:@"example tekst %i %@ %.2f", 122, @"sth", 3.1415"];
NSLog(@"account ID %i email %@", accountID, email);
Run Code Online (Sandbox Code Playgroud)
我想创建类似NSString的方法stringWithFormat:,NSURL - urlWithFormat.
从git我可以得到时间戳:
"2011-10-04 12:58:36 -0600"
Run Code Online (Sandbox Code Playgroud)
但有没有办法表明它:
"2011-10-04 06:58:36"
Run Code Online (Sandbox Code Playgroud)
所以我想要的是摆脱-0600时区偏移.我怎样才能做到这一点?谢谢.
[ 更新:格式说明符与格式字符串不同; 格式说明符是自定义格式字符串的一部分,其中格式字符串为"stock",不提供自定义.我的问题是说明符不是格式 ]
我一直在尝试使用格式字符串执行往返DateTime转换,格式字符串使用'zzz'格式说明符,我知道绑定到本地时间.因此,如果我尝试使用UTC日期时间进行往返,则会抛出DateTimeInvalidLocalFormat异常,它应该使用以下文本:
正在将UTC日期时间转换为仅适用于本地时间的格式的文本.使用'z'格式说明符调用DateTime.ToString时会发生这种情况,该说明符将在输出中包含本地时区偏移量.在这种情况下,要么使用指定UTC时间的'Z'格式说明符,要么使用'o'格式字符串,这是在文本中保留DateTime的推荐方法.传递由XmlConvert或DataSet序列化的DateTime时也会发生这种情况.如果使用XmlConvert.ToString,则传入XmlDateTimeSerializationMode.RoundtripKind以正确序列化.如果使用DataSet,请将DataColumn对象上的DateTimeMode设置为DataSetDateTime.Utc.
根据这个建议,我需要做的就是让我的代码工作就是用'ZZZ'代替'zzz',这样我就可以采用UTC格式了.问题是,文档中没有找到'Z',我尝试的任何'Z'格式组合,即'Z','ZZ','ZZZ',总是只转换DateTime实例,那些Z被视为文字.
有人忘记在没有告诉异常消息作者的情况下实现'Z',或者我错过了如何在没有黑客攻击的情况下用"+0000"替换有效的本地时间偏移量?
代码示例:
// This is the format with 'zzzzz' representing local time offset
const string format = "ddd MMM dd HH:mm:ss zzzzz yyyy";
// create a UTC time
const string expected = "Fri Dec 19 17:24:18 +0000 2008";
var time = new DateTime(2008, 12, 19, 17, 24, 18, 0, DateTimeKind.Utc);
// If you're using a debugger this will rightfully throw an exception
// with .NET 3.5 SP1 because 'z' …Run Code Online (Sandbox Code Playgroud)