Modifying creation date of a wave

I would like to be able to modify the creation date of a wave. (I know this is heresy!)

My waves are taken from an oscilloscope, so I'd like to put the trigger time stamp into the creation time. This could then be retrieved by creationdate(wave), and remain a fixed value despite other operations on the wave. The trigger time may differ from the wave creation time if the trace is not downloaded from the scope immediately.

You could avoid being burned as a heretic by using 'note':
 Note <waveName>,"CREATIONDATE="+<your date here>+";"

and extracting with stringByKey("CREATIONDATE",note(<waveName>),"=",";") at any later time. The KEY=VALUE; approach allows you to put any number of data points in any order, as a bonus.
Regards,
Patrick.
If you don't mind being heretical...
I have written a function which lets you set the creation date of a igor binary wave. It requires that the wave is saved to disk as .ibw file. You can't process a wave which is part of a Igor experiment, but temporarily write a wave do disk, change the creation date, load the wave back in and then delete the file shouldn't be so difficult.

Here comes the code:

#pragma rtGlobals=1		// Use modern global access method.

function modifyCreationDate(year,month,day,hour,minute,second)
	variable year,month,day,hour,minute,second

	string oldDF=getdatafolder(1)
	string newDF=uniquename("newDF",11,0)
	newdatafolder/s $newDF
	variable creationDateMOD=date2secs(year,month,day)+hour*3600+minute*60+second
	variable refnum,version,creationDatePos,headerlenAsWords,checksumPos
	open/t=".ibw"/m="choose ibw file"/z=2/a refnum
//	print V_flag
	if(V_flag!=0)
		setdatafolder $oldDF
		killdatafolder $newDF
		return V_flag
	endif
	fstatus refnum
	
	// get igor binary version:
	fsetpos refnum,0
	fbinread/f=2 refnum,version
	switch(version)
		case 2:
			creationDatePos=112
			checksumPos=14
			headerlenAsWords=142/2
			break
		case 5:
			creationDatePos=68
			checksumPos=2
			headerlenAsWords=384/2
			break
		default:
			print "Couldn't determine Igor binary version!"
			fsetpos refnum,V_logEOF
			close refnum
			setdatafolder $oldDF
			killdatafolder $newDF
			return version
	endswitch
//	print version
	
	// write new creation date:
	fsetpos refnum,creationDatePos
	fbinwrite/f=3/u refnum,creationDateMOD
	
	// calculate checksum:
	make/o/n=(headerlenAsWords)/w W_header
	fsetpos refnum,0
	fbinread refnum,W_header
	W_header[checksumPos/2]=0
	make/o/n=1/w W_checksum= -sum(W_header)
	
	// write ckecksum:
	fsetpos refnum,checksumPos
	fbinwrite refnum,W_checksum
	
	// clean up:
	fsetpos refnum,V_logEOF
	close refnum
	setdatafolder $oldDF
	killdatafolder $newDF
	
	return creationDateMOD
end