aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
diff options
context:
space:
mode:
authorGravatar Jon Skeet <jonskeet@google.com>2015-11-06 18:38:31 +0000
committerGravatar Jon Skeet <jonskeet@google.com>2015-11-06 18:38:31 +0000
commitcff900e8f9e4b8f3a8f314f0f44eab222ebb870b (patch)
tree9bb37e2e6639faa7c020caaccc918e7f81ac844c /csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
parentf4f601bd477e01c98d95dece5a694107205a8134 (diff)
Generated code for previous commit.
Diffstat (limited to 'csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs')
-rw-r--r--csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs b/csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
index f372f8fd..1044a683 100644
--- a/csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
+++ b/csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
@@ -53,30 +53,43 @@ namespace Google.Protobuf.WellKnownTypes {
/// By restricting to that range, we ensure that we can convert to
/// and from RFC 3339 date strings.
/// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
+ ///
/// Example 1: Compute Timestamp from POSIX `time()`.
+ ///
/// Timestamp timestamp;
/// timestamp.set_seconds(time(NULL));
/// timestamp.set_nanos(0);
+ ///
/// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+ ///
/// struct timeval tv;
/// gettimeofday(&amp;tv, NULL);
+ ///
/// Timestamp timestamp;
/// timestamp.set_seconds(tv.tv_sec);
/// timestamp.set_nanos(tv.tv_usec * 1000);
+ ///
/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+ ///
/// FILETIME ft;
/// GetSystemTimeAsFileTime(&amp;ft);
/// UINT64 ticks = (((UINT64)ft.dwHighDateTime) &lt;&lt; 32) | ft.dwLowDateTime;
+ ///
/// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
/// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
/// Timestamp timestamp;
/// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
/// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+ ///
/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+ ///
/// long millis = System.currentTimeMillis();
+ ///
/// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
/// .setNanos((int) ((millis % 1000) * 1000000)).build();
+ ///
/// Example 5: Compute Timestamp from current time in Python.
+ ///
/// now = time.time()
/// seconds = int(now)
/// nanos = int((now - seconds) * 10**9)