Search - User list
Full Version: extracting the current time and date - how?
Root » Houdini Lounge » extracting the current time and date - how?
diula
Hello,
Is it possible (in Houdini, Windows) to somehow extract the current time and date? I would like to append the resulting string to the name of my many test render frames…
It appears that of all the variables defined on the system, one cannot extract only the Date and Time

Any ideas?
rdms
diula
Hello,
Is it possible (in Houdini, Windows) to somehow extract the current time and date? I would like to append the resulting string to the name of my many test render frames…
It appears that of all the variables defined on the system, one cannot extract only the Date and Time

Any ideas?


You could use system expression and do something like:

set a = `system(“date +%T”)` —> 18:08:16
or
set a = `system(“date +%D”)` —-> 10/22/06
or
set a = `system(“date +%D_%T”)` —-> 10/22/06_18:08:16

Hope this helps a bit
edward
On Windows, I think you need to install cygwin or gnuwin32 in order to use the Unix date utility.
Le_monkey_butt
On Windows, you can do it more or less like in Linux without having to install Cygwin

set time = `arg(system(date),3)`;

for the date you need to get it this way:

set dayOfWeek = `arg(system(date),0)`;
set date = `arg(system(date),1)`;
set month = `arg(system(date),2)`;

Maybe a better way though….
DriesD
Did anyone get this working?
On windows, the system command doesnt' seem to work.

/ -> set time = `system(date /T)`
/ -> echo $time

/ ->
DriesD
Edit: duplicate
Le_monkey_butt

set time = `arg(system(date),3)`;
echo $time


works

and if it doesnt work with the “date” from windows, it is because I have UnxUtils
http://sourceforge.net/projects/unxutils/ [sourceforge.net]

a bunch of UNIX utils very easy to install:
- Download
- Put the folder where ever you want
- Make sure that the environment var PATH has the directory where UnxUtils is installed….
puma.snyder
It works without any UNIX tools. Basicly date is a cmd application, so you need to call it something like this (I forgot the exact syntax and no Houdini near me):

system(cmd(date))
or
system(cmd date)

Achim
DriesD
Good tip, thanks.

turned out I had to use this structure in textport :

echo `system(“cmd /c date /t”)`
ben5ch
Just been playing with this problem as well. Here follows a little trick you can do get the current system time on Windows.

The $ExportNode can be any node but I used the ROP node I was executing the script from in which I needed systemtime.


opset -h off $ExportNode
opset -h on $ExportNode
set FullTime = `execute(“opstat -m $ExportNode”)`
set ExportTime = `arg($FullTime,5)`


cheers,
benS
TangheStudent
I spend some time trying diferent system commands in the name but every timei try this the sting gets split somehow and i end up with an unnumbered 0 kb file where the name ends after the system command.

examples $HIP/render/projection/%HIPNAME_`system("powershell Get-Date -Format 'MM_dd_HH:mm'").4F.exr


yieds a folder with 1_13_12:44 no extention or anything.

are we sure $DATE isnt a thing ?
netlander
TangheStudent
examples $HIP/render/projection/%HIPNAME_`system("powershell Get-Date -Format 'MM_dd_HH:mm'").4F.exr

yieds a folder with 1_13_12:44 no extention or anything.

This works well on Windows except that the colon character cannot be used as a folder or file name on a Windows system.
tamte
This thread is since before there was a Python in Houdini
But nowadays you can probably just use Python and be consistent across OSs
Jonathan de Blok
I jumped on the houdini bandwagon around version 15, surprised to learn it was without python once!
Mike_A
18 years after the original post - and I still can't work out how to add current date and time to my ROP filename output.
on Windows.

If some generous person could write me a 'copy and paste' line to add date and time to the standard ROP file name string of:

$HIP/render/$HIPNAME.$OS.$F4.exr

I'd really appreciate it.
toadstorm
This can be done as a one-liner but it requires some pretty esoteric Python formatting because it needs to import the datetime module before running datetime.now().strftime(). Try something like this:

$HIP/render/$HIPNAME.$OS.`pythonexprs("str(__import__('datetime').datetime.now().strftime('%Y%m%d_%H%M%S'))")`.$F4.exr

Running __import__ this way and converting the whole thing to a string allows you to import, run the function, and return the result as a string for pythonexprs to read all at once. It's ugly but it works. If you want something a little easier to modify, you could create a string-type spare parm and set the default expression to this Python statement:

import datetime
return datetime.datetime.now().strftime('%Y%m%d_%H%M%S')

Then just include a reference to that channel in your output path, like this:
$HIP/render/$HIPNAME.$OS.`chs("myTimeChannel")`.$F4.exr
Mike_A
Henry,
Please excuse the tardiness of this reply - but thank you so much for this excellent and useful post. I will be putting it to use later this week. I've used a date and time token frequently in other 3D software, and very much missed it in Houdini - but no longer : )

Most appreciated.
eikonoklastes
Mike_A
18 years after the original post - and I still can't work out how to add current date and time to my ROP filename output.

What's the use case for appending the date and time to the file name that isn't covered by the embedded date and time in the file already?
Mike_A
You can easily repeat render without accidently overwriting files for a start.

It was something I set up and used a lot in C4D for file organisation.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB