Ok, doing the docs now. One caveat I noticed is that the time doesn't get cached for the whole query, just the row. So if you create multiple nodes, they'll have different times.
neo4j-sh (0)$ create (n {ts1:now('ms')})-[r:TEST {ts:now('ms')}]->(m {ts1:now('ms')}) return *;
+------------------------------------------------------------------------------------------------+
| m | n | r |
+------------------------------------------------------------------------------------------------+
| Node[20203]{ts1:1363656550293} | Node[20204]{ts1:1363656550294} | :TEST[13] {ts:1363656550294} |
+------------------------------------------------------------------------------------------------+
1 row
Nodes created: 2
Relationships created: 1
Properties set: 3
3 ms
And if you do a query like this, it can be different per row. Not sure if this is ideal, but I imagine it's good enough for most use cases--I'll ask Andres tomorrow what he thinks. Any opinions?
neo4j-sh (0)$ start n=node(*) return now('ms'), now(''+'ms'), now('m'+'s') limit 15;
+-----------------------------------------------+
| now('ms') | now(''+'ms') | now('m'+'s') |
+-----------------------------------------------+
| 1363653318071 | 1363653318071 | 1363653318071 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318075 | 1363653318075 | 1363653318075 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
| 1363653318076 | 1363653318076 | 1363653318076 |
+-----------------------------------------------+
15 rows